其实Opera现在官方还不支持 chrome_url_overrides
。可以在您引用的 MDN 页面上找到一条证据,并由 Opera 代表在其论坛中确认。
在 Opera 中实现新标签扩展的一种潜在解决方法(实际上这也应该在其他浏览器中工作)是使用带有以下代码的后台脚本:
const redirectURLS = [
"opera://startpage/",
"browser://startpage/",
"chrome://startpage/"
];
chrome.tabs.onCreated.addListener(function(tab) {
for (let i = 0; i < redirectURLS.length; i++) {
if (tab.url === redirectURLS[i]) break; // user is trying to open startpage
if (i == redirectURLS.length - 1) return; // Tab is not trying to open a startpage
}
chrome.tabs.update(tab.id, { url: "index.html" });
});
这样做将检查用户是否尝试打开新选项卡,如果是这种情况,它将打开安装插件时附带的自定义 index.html 页面。这是一个 hacky 和肮脏的,不确定它是否会被 Opera 接受,但对于那些拼命试图在其他 Opera 插件中获得新标签扩展的人来说,这可能是一条救赎之路。
有趣的事实: Opera 开发并分发了一个插件,它可以帮助您从 Opera 上的 chrome 扩展商店安装 chrome 扩展,但是新的标签扩展不起作用并且在安装时失败并显示以下消息:
[兼容性通知] 请注意,此扩展需要 Opera 不支持的 API。它仍然可以在 Opera 中运行,因此请完成安装以验证。