標籤:object receive nal listener 等等 接收 事件 localhost org
前幾天電話面試被問到了跨域問題,由於之前的工作沒怎麼接觸到跨域。所以答的很爛。今天特意總結了一下。
1:josnP:優點:相容性好點。缺點:值支援get請求。實現方式:script請求跨域的地址並用問好傳參的形式傳過去回到函數以及參數例如
<script src = ‘http://localhost:3001/ajax/deal?callback=jsonpCallback&name=chiaki&id=3001&_=1473164876032‘></script>
2:cors:優點:支援get,post等等。缺點:相容性差一些,只支援ie10以上或者標準流瀏覽器。實現方式:主要伺服器進行配置。
Access-Control-Allow-Origin: http://api.bob.com
通過這個屬性來控制哪些域可以訪問當前域。
3:ngix來進行跨域:這個 沒實際用過不敢多說http://www.cnblogs.com/gabrielchen/p/5066120.html。附上一條連結。大家進行參考。
4:html5中的postMessage。這個當前視窗要通過iframe去當目標域的某個視窗然後通過otherWindow.postMesage(data,‘http://www.a.com‘)進行傳遞,然後目標視窗通過message事件進行接收
window.addEventListener("message", receiveMessage, false);function receiveMessage(event){ // For Chrome, the origin property is in the event.originalEvent // object. var origin = event.origin || event.originalEvent.origin; if (origin !== "http://example.org:8080") return; // ...}
這個屬性目前還不是很常用,工作中也沒遇到過。等待測試。
js跨域的各種方法總結。