1. 程式人生 > >前端面試題之跨域方式

前端面試題之跨域方式

前端面試題之跨域方式

常用的:

  1. jsonP:通過script標籤呼叫不同域的js把引數帶回來
  2. CORS:通過服務端在響應頭設定Access-Control-AllowOrigin欄位進行跨域

還有:

  1. window.name:一個頁面跳轉之後,它的window.name是不會變的,通過這個原理,一個頁面跳轉到不同域的頁面也可以拿到不通域頁面的值
  2. document.domain:document.domain將頁面設定成相同的域來進行跨域

H5新出的:

  1. window.postMessage:拿到iframe中網頁的window物件然後設定window.postMessage的值之後在另一個網頁可以拿到window.postMessage的值
  2. websocket:WebSocket是在HTML5中引入的瀏覽器與服務端的通訊協議,可以類比HTTP,預設支援同源通訊

面試回答:跨域是因為瀏覽器基於安全問題,使用了同源策略,也就是瀏覽器只允許請求協議,域名,埠相同的域的資料,跨域就是讓瀏覽器能夠請求不同源的域的資料