js跨域問題

2021-07-22 22:01:51 字數 781 閱讀 8169

報錯資訊:

火狐上的錯誤:

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...