gpt4 book ai didi

google-chrome-extension - 如何阻止选项卡在 webNavigation.onBeforeNavigate 事件上打开页面?

转载 作者:行者123 更新时间:2023-12-04 13:43:11 28 4
gpt4 key购买 nike

作为一项学习练习,我正在尝试构建一个 Chrome 扩展示例,以确保“灰名单”上的网站始终在隐身窗口中打开。

这是我的进展 - 使用 webNavigation.onBeforeNavigate 事件在灰名单页面即将被导航到我在隐身窗口中打开一个新选项卡时触发,但现在需要阻止原始选项卡打开该页面.

list .js:

"permissions": [
"webNavigation",
"tabs"
],

"background": {
"scripts": [
"background.js"
],
"persistent": false
},

背景.js:

chrome.webNavigation.onBeforeNavigate.addListener(function(details) {
chrome.tabs.get(details.tabId, function(tab) {
if(!tab.incognito) {

// Open the page in an incognito window
chrome.windows.create({ url: details.url, incognito: true});

// TODO stop non-incognito tab opening page!
}
});
}, {
url: [
{ hostEquals: 'badsite.com' }
],
});

最佳答案

要停止导航,请使用 window.stop(),方法是在选项卡中注入(inject)内容脚本:

chrome.tabs.executeScript(details.tabId, {code: 'window.stop()'});

在 manifest.json 中添加权限,否则你会在 background page console 中看到错误:

"permissions": [
"webNavigation",
"tabs",
"<all_urls>"
],

关于google-chrome-extension - 如何阻止选项卡在 webNavigation.onBeforeNavigate 事件上打开页面?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38619308/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com