跨域問題 easyXDM以及JSONP

2021-06-07 01:43:06 字數 932 閱讀 1077

最近在跨域問題的問題中,查詢了一些資料。實現方法有很多。

ppt文件: 裡面詳細介紹了基本的實現方法。

內容來自:

最近在做專案的時候遇到很多跨域的問題。說下我的解決方案:

1.jsonp單純獲取資料的話,並且希望能實現不呼叫動態程式的情況下,可以考慮使用jsonp來解決。

具體原理就是讓瀏覽器通過script的src屬性來動態調取。

**:functionloadcontent(content) 頁面中給onclick()繫結此函式即可。而在動態呼叫的js檔案中,返回如下格式的資料:

functionname(data);

其中functionname為原來已經載入的函式(本域)類似於:

function functionname(data)

這樣就在引用近資料後,執行了對應的資料。

優點:可以不使用動態程式,簡單易用。

缺點:事實上使用的是get方式,其保密性以及安全性甚至傳輸資料大小都是問題,並且此方式解決了跨域問題,所以給跨站攻擊帶來了方便,不建議用在提交資料處。

2.easyxdm

遇到的另外乙個問題是,跨域調節父框架的高度。最終找到的乙個方案是easyxdm.

easyxdm是乙個較為成熟的js跨域解決方案,並且其對各種瀏覽器都有不同的解決方案,相容性較好,在ie6,7中使用的是flash,其他瀏覽器使用的是:postmessagetransport.**:

easyxdm的使用使用了3個頁面:當前檢視頁面,中間頁面,iframe巢狀頁面。

我這裡直接上**:

檢視頁面(domain1.com)index.html

中間頁面(domain2.com)middle.html

被巢狀頁面(domain2.com)index.html

1 1

文中用到了另外兩個資源: 

easyxdm.js

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

js跨域問題

跨域問題,網上資料很多,但是太多複製貼上,還錯誤百出,這裡我總得說一下吧 第二個方法就是cros跨域,服務端要設定響應頭如下header access control allow credentials true header access control allow origin request....