[英]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.