<img src="跨域的圖片地址"> 能夠用於統計打點,可使用第三方統計服務??? <link href="跨域的CSS地址"> 可使用CDN,通常外域 <script src="跨域的js地址"></script> 實現JSONP????具體實現 總而言之,這幾個均可以不收瀏覽器同源策略的限制
JSONP的具體實現javascript
前導知識html
訪問 http://immoc.com ,服務端必定返回html文件嗎?答案是否認的。前端
服務器能夠任意動態拼接數據返回,只要符合類型格式便可。java
同理於ajax
<script scr="http://imooc.com/getData.js"></script>
因此:就有了JSONP這種跨域的實現方式:就是經過前端動態的建立script標籤,借用src屬性來發起跨域請求。json
前端頁面demo:api
//前端頁面定義好函數 <script> window.callback = function(x) { console.log(x); } let script = document.createElement('script'); script.src = "http://localhost/getData.js"; btn.addEventListener('click', function() { document.body.appendChild(script); }); </script>
服務端返回數據:跨域
response.write(`callback({name:"Bob"})`);
而後瀏覽器接收到callback({name:"Bob"}); ,根據javascript解析。這裏就是直接輸出:{name:"Bob"}瀏覽器
response.setHeader('Access-Control-Allow-Origin','url');//url填寫容許訪問的地址 response.setHeader('Access-Control-Allow-Header','X-Requested-With'); response.setheader('Access-Control-Allow-Methods','PUT,POST,GET,DELETE,OPTIONS'); //接受跨域的cookie response.setHeader("Access-Control-Allow-Credentails","true");
同源策略跨域安全
JSONP
CORS