今天介紹乙個實用的瀏覽器跨域方案。
比如 a **嵌入了 b **的頁面,這時 b **的頁面想要呼叫 a **的頁面的方法,因為網域名稱不同,由於瀏覽器同源策略的限制會被 blocked 掉的。
以下給出乙個方法
在 a **的寫下
window.addeventlistener("message",function(obj));
再在 b **的頁面裡寫下
// * 代表向所有窗體傳送訊息,具體的可參考 html5 的 postmessage api
window.top.postmessage("i am here", "*");
這時再重新整理頁面,進入到 b **所在頁面,開啟控制台,便會發現 i am here 出現在 obj.data 裡 瀏覽器同源策略,及跨域解決方案
源由下面三個部分組成 網域名稱埠 協議兩個 url 只有這三個都相同的情況下,才可以稱為同源。對比url 結果原因 不同源網域名稱不同 不同源協議不同 不同源埠不同 同源同網域名稱,同埠,同協議 瀏覽器的同源策略是一種安全功能,同源策略限制了從同乙個源載入的文件或指令碼如何與來自另乙個源的資源進行互...
前端常見瀏覽器跨域請求解決方案
在瀏覽器請求中,出現跨域訪問資源的問題,我們肯定會遇到。如果跨域請求被阻止,有可能導致css js ajax請求 font字型等資源出現無法正常訪問的問題。同源策略 為什麼要跨域?前端跨域解決方案?四 nodejs中介軟體 五 vue 跨域 六 websocket協議 跨域是指乙個域下的文件或者指令...
C 瀏覽器提示跨域問題解決方案
一,我們使用兩個網域名稱互相訪問的時候會提示跨域,原因在 呢?如下圖跨域,我們 下 是什麼原因導致瀏覽器報這個錯呢?二,我們研究下看看請求是否成功。如下圖,瀏覽器返回的是200,證明請求是成功了,同時返回是成功了,那為什麼還提示跨域呢?三,經過看瀏覽器跨域的提示可知道 no access contr...