相信對於一些學習前端的小夥伴來講,JavaScript是他們須要面對的東西。但在學習JavaScript的道路,咱們都知道有無數個坑等着你去踩。
###而今天爲了你們防止之後你們在實現跨域這個坑上中招,因此今天給你們總結下JavaScript中關於實現跨域方法的總結。話很少說,當即開搞html
第一種: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協議。
總結:
做爲一個新生程序猿,Damon但願可以與你們一同進步。文章或者描述有所不足的地方,但願你們多多提出來,一同進步。
Damon會繼續發掘一些有用的諮詢,知識以及新工具,與你們一同分享,謝謝!