Response屬性:redirected

2018-03-07 18:06 更新

redirected 只讀屬性

Response 接口的 redirected 只讀屬性指示響應是否是您重定向的請求的結(jié)果。

依靠重定向來過濾掉重定向,可以讓偽造的重定向輕松防止您的內(nèi)容按照預期的進行工作。相反,您實際上應該在調(diào)用 fetch () 時進行篩選。

redirected 只讀屬性語法

var isRedirected = Response.redirected;

redirected 只讀屬性值

redirected 只讀屬性為一個Boolean,如果響應表明您的請求已被重定向,則為 true。

redirected 只讀示例

檢測重定向

檢查來自重定向請求的響應是否與在 Response 對象上檢查該標志一樣簡單。在下面的代碼中,當在 fetch 操作期間發(fā)生重定向時,會將文本消息插入到元素中。但是,請注意,這不像直接拒絕重定向那樣安全,如果它們是意外的,請按照下面不允許的重定向來描述。

fetch("awesome-picture.jpg").then(function(response) {
  let elem = document.getElementById("warning-message-box");
  if (response.redirected) {
    elem.innerHTML = "Unexpected redirect";
  } else {
    elem.innerHTML = "";
  }
  return response.blob();
}).then(function(imageBlob) {
  let imgObjectURL = URL.createObjectURL(imageBlob);
  document.getElementById("img-element-id").src = imgObjectURL;
});

不允許重定向

因為使用重定向來手動過濾重定向可以允許偽造重定向,所以在調(diào)用 fetch() 時,在參數(shù) init 中應該將重定向模式設(shè)置為"error" ,如下所示:

fetch("awesome-picture.jpg", { redirect: "error" }).then(function(response) {
  return response.blob();
}).then(function(imageBlob) {
  let imgObjectURL = URL.createObjectURL(imageBlob);
  document.getElementById("img-element-id").src = imgObjectURL;
});

規(guī)范

規(guī)范 狀態(tài) 注釋
Fetch
在該規(guī)范中'redirected'的定義。
Living Standard
初始定義

瀏覽器兼容性

電腦端 移動端
Chrome
Edge
Firefox
Internet Explorer
Opera
Safari
Android webview
Chrome for Android
Edge Mobile Firefox for Android
Opera for Android
iOS Safari
基本支持 支持:60 支持 支持:49 不支持 支持:47 不支持 支持:60 支持:60 支持 支持:49 支持:47 不支持
以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號