報錯資訊:
火狐上的錯誤:
permission denied to access property 「document」
$(window.parent.document).find(「#database_name」).val(databasename);
谷歌上的錯誤:
uncaught securityerror: blocked a frame with origin 「 from accessing a frame with origin 「 protocols, domains, and ports must match.
原因:乙個jsp頁面中使用了iframe引入了另乙個頁面,在iframe頁面的js**中執行了下面的語句:
$(window.parent
.document).find("#database_name").val(databasename);
id=database_name的元素在iframe頁面中,而$(window.parent.document)指向的是父頁面的document,iframe訪問了父頁面的元素,導致了跨域的問題。
解決方案:因為id=database_name是隱藏元素,所以將隱藏元素移到iframe頁面,並且將上面的賦值語句改為對本頁面的元素賦值:
$(document).find("#database_name").val(databasename);
如果不是隱藏的元素,看其他人的做法是將iframe的引入路徑設定為絕對路徑。 js跨域問題
什麼是跨域?概念 只要協議 網域名稱 埠有任何乙個不同,都被當作是不同的域。1.document.domain 跨子域 這個是範圍最小的乙個。比如a.example.com 中寫了乙個iframe,其中src example.com 但是因為是不同域的就無法寫js獲取iframe中的document...
js跨域問題
跨域問題,網上資料很多,但是太多複製貼上,還錯誤百出,這裡我總得說一下吧 第二個方法就是cros跨域,服務端要設定響應頭如下header access control allow credentials true header access control allow origin request....
js的跨域問題
網域名稱不同,埠不同 都是跨域。比如現在開啟的 是 a,在a 的js 中,要訪問 b的資源 那麼在b 服務端,要設定httpheader,允許在a 訪問b的資源,否則瀏覽器會不接收b 的資源。http請求是能達到b的,只是瀏覽器放棄了資料。access control allow origin ac...