[英]Chrome extension default html or 404 (for single-page app routing)
我們的Chrome擴展程序瀏覽器操作會打開一個新標簽:
chrome.tabs.create({
url: chrome.extension.getURL('/html/main.html?route=/home')
})
main.html是單頁應用程序條目,該條目使用HTML5歷史記錄API( history.pushState
)將/html/main.html?route=/home
更改為/home
。 這可行,並且應用程序內的導航可行。
唯一的問題是,如果用戶刷新頁面,則/home
will 404。
找不到此網頁ERR_FILE_NOT_FOUND
有沒有一種方法可以使默認的html或自定義404將/x/y/z
重定向到/html/main.html?route=/x/y/z
?
您應該可以使用webRequest
API進行操作 (未經測試!):
chrome.webRequest.onBeforeRequest.addListener(
function(details) {
if(/* condition on details.url */) {
return {redirectUrl: fix(details.url)};
}
}, {
urls: ["chrome-extension://" + chrome.runtime.id + "/*"]
}, [
"blocking"
]
);
請注意,您將需要webRequest
和webRequestBlocking
權限。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.