解決js跨子域問題

2021-06-18 08:05:48 字數 434 閱讀 2090

解決js跨子域問題

問題描述:

在框架頁面index.aspx中,通過iframe載入多個子網域名稱的頁面,此時子網域名稱中的頁面的js將無法使用,報「沒有許可權」錯誤

原因:因為考慮到安全性的問題,瀏覽器禁止js進行跨網域名稱的操作,所以出現以上問題

解決方法:

通過將框架頁面及iframe載入的子網域名稱頁面的document.domain修改為他們的頂級網域名稱可解決此問題,這時候瀏覽器會認為index.aspx頁面和iframe載入的子網域名稱的頁面的網域名稱是一樣的。

注意:在除錯時,我直接在title標籤後加修改document.domain的js**,此時會報錯,因為document頁面文件還沒載入完成。所以需要到document載入完成後才能呼叫修改document.domain的js**,所以需要在事件window.onload = function() 中新增修改**

js跨域問題的解決方式

首先我們要了解什麼是跨域?當乙個請求url的 協議 網域名稱 埠三者之間任意乙個與當前頁面url不同即為跨域。jsonp json with padding 通過動態建立 script,再請求乙個帶參 實現跨域通訊。cors 跨域資源共享 cors的基本思想就是使用自定義的http頭部讓瀏覽器與伺服...

js跨域問題

什麼是跨域?概念 只要協議 網域名稱 埠有任何乙個不同,都被當作是不同的域。1.document.domain 跨子域 這個是範圍最小的乙個。比如a.example.com 中寫了乙個iframe,其中src example.com 但是因為是不同域的就無法寫js獲取iframe中的document...

js跨域問題

報錯資訊 火狐上的錯誤 permission denied to access property document window.parent.document find database name val databasename 谷歌上的錯誤 uncaught securityerror blo...