我写了一个overrides the New Tab page的Chrome扩展程序:

manifest.json:

  "chrome_url_overrides": {
    "newtab": "new-tab.html"
  },


有没有办法使此替代为可选?也就是说,我想使用户能够取消选中选项页面中的复选框并禁用“新标签”替代。之所以必须这样做是因为,当我第一次打开新标签页时,会弹出一个弹出窗口,通知扩展程序会更改“新标签页”设置,并询问是否保留更改或恢复设置:



我找不到用于控制替代的任何API。 New Tab Redirect项目没有显示本机“新建选项卡”的选项。

最佳答案

Google做了一个Star Wars new tab replacement,可让您查看默认的新标签页。它使用的网址是chrome-search://local-ntp/local-ntp.html。例:

options.html:

<input type="checkbox"> Use default new tab page


options.js:

var checkbox = document.querySelector("input[type=checkbox]")
checkbox.addEventListener("click", function() {
 chrome.storage.sync.set({ defaultnewtab: checkbox.checked })
})


newtab.js:

chrome.storage.sync.get("defaultnewtab", function(storage) {
 if(storage.defaultnewtab) {
  chrome.tabs.update({ url: "chrome-search://local-ntp/local-ntp.html" })
 }
})

关于javascript - 以编程方式(或可选地)覆盖Chrome的“新标签页”页面,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33589905/

10-10 06:12