簡體   English   中英

Chrome擴展程序默認html或404(用於單頁應用程序路由)

[英]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"
  ]
);

請注意,您將需要webRequestwebRequestBlocking權限。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM