雖然有同源策略,但是跨域在js中還是很常見的,包括document.domain,window.name,picture ping,jsonp,CORS。在這裏,我們簡單總結壹下圖片ping、jsonp和CORS備忘錄。
圖片ping
圖片可以從任意URL加載,所以將img的src設置為其他域的URL就可以實現簡單的跨域,可以使用onload和onerror事件來判斷是否收到響應。
這裏創建了壹個新的img對象,給出的url是博客地址。這裏有壹個錯誤事件,所以會彈出壹個錯誤。如果將url改為圖片,與ajax的唯壹區別是URL使用跨域的絕對地址、ajax中使用的頁面內的相對地址或絕對地址。
看壹下控制臺。這裏使用的是ff40.0.3,顯示信息如下:
跨源請求被阻止:同源策略禁止讀取位於的遠程資源。(原因:CORS標頭缺少“訪問控制允許來源”)。
所以用CORS實現跨域還有壹步要做,就是在服務器端設置Access-Control-Allow-Origin。