1. 程式人生 > >javascript中實現跨域的方式總結

javascript中實現跨域的方式總結

第一種方式:jsonp請求;jsonp的原理是利用<script>標籤的跨域特性,可以不受限制地從其他域中載入資源,類似的標籤還有<img>.

第二種方式:document.domain;這種方式用在主域名相同子域名不同的跨域訪問中

第三種方式:window.name;window的name屬性有個特徵:在一個視窗(window)的生命週期內,視窗載入的所有的頁面都是共享一個window.name的,每個頁面對window.name都有讀寫的許可權,window.name是持久存在一個視窗載入過的所有頁面中的,並不會因新頁面的載入而進行重置。

第四種方式:window.postMessage;window.postMessages是html5中實現跨域訪問的一種新方式,可以使用它來向其它的window物件傳送訊息,無論這個window物件是屬於同源或不同源。

第五種方式:CORS;CORS背後的基本思想,就是使用自定義的HTTP頭部讓瀏覽器與伺服器進行溝通,從而決定請求或響應是應該成功還是應該失敗。

第六種方式:Web Sockets;web sockets原理:在JS建立了web socket之後,會有一個HTTP請求傳送到瀏覽器以發起連線。取得伺服器響應後,建立的連線會使用HTTP升級從HTTP協議交換為web sockt協議。