jsonp
Web頁面上調(diào)用js文件時不受跨域的影響(不僅如此,我們還發(fā)現(xiàn)凡是擁有”src”這個屬性的標(biāo)簽都擁有跨域的能力蓖捶,比如<script>、<img>扁远、<iframe>
)俊鱼;
jsonp就是利用了<script src="xxxx"> </script>
這個標(biāo)簽不受跨域影響。
Paste_Image.png
Paste_Image.png
Paste_Image.png
CORS
CORS:全稱為 Cross-Origin Resource Sharing畅买,跨域資源共享并闲,是一種 ajax 跨域請求資源的方式,支持現(xiàn)代瀏覽器谷羞,IE支持10以上帝火。
CORS的實現(xiàn)方式是,在后端的響應(yīng)頭添加一個
Access-Control-Allow-Origin
屬性湃缎,屬性的值是允許的域名犀填。它的好處是前端的請求就是ajax,不需要修改嗓违,只要后端開訪問權(quán)限即可九巡,很方便。
Paste_Image.png
Paste_Image.png
Paste_Image.png
降域
降域代碼
頁面ifram內(nèi)部嵌套一個網(wǎng)頁蹂季,如果域名不同冕广,就不能互相操作,因有跨域問題偿洁,如果域名的后綴是一樣的撒汉,只是前面不一樣,可以用降域來解決涕滋。
Paste_Image.png
postMessage
postMessage()方法允許來自不同源的腳本采用異步方式進(jìn)行有限的通信睬辐,可以實現(xiàn)跨文本檔、多窗口何吝、跨域消息傳遞溉委。
postMessage(data,origin)方法接受兩個參數(shù)
- data:要傳遞的數(shù)據(jù)
- origin:字符串參數(shù),指明目標(biāo)窗口的源爱榕,協(xié)議+主機(jī)+端口號[+URL]
Paste_Image.png