W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
Response 接口的 redirected 只讀屬性指示響應是否是您重定向的請求的結(jié)果。
依靠重定向來過濾掉重定向,可以讓偽造的重定向輕松防止您的內(nèi)容按照預期的進行工作。相反,您實際上應該在調(diào)用 fetch () 時進行篩選。
var isRedirected = Response.redirected;
redirected 只讀屬性為一個Boolean,如果響應表明您的請求已被重定向,則為 true。
檢查來自重定向請求的響應是否與在 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ī)范 | 狀態(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 | 不支持 |
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: