从Chrome扩展程序的本地页面导航到网址

时间:2017-07-05 06:40:45

标签: google-chrome google-chrome-extension

我试图创建一个Chrome扩展程序,以阻止自己过多地访问某些页面,例如facebook。我的想法是在访问Facebook时使用扩展程序块,但它仍然可以让我继续访问Facebook。

现在我正在使用后台脚本来阻止它。

chrome.webNavigation.onBeforeNavigate.addListener(function(e) {     
  chrome.tabs.query({currentWindow: true, active: true}, function (tab) {
    chrome.tabs.update(tab.id, {url: 'waster.html'});
  });
  }, {url: [{hostSuffix: 'facebook.com'}]}
);

waster.html我有一个去facebook的链接。但问题是,当我点击该链接时,它会再次触发相同的事件,然后被阻止。

有没有办法解决这个问题?喜欢可能通过链接传递参数以避免阻塞?

由于

== 编辑: 添加更多详细信息

目的是阻止facebook.com,所以我向onBeforeNavigate添加了一个事件监听器" facebook.com"在过滤器中加载前停止页面,加载我自己的页面waster.html。 但是在waster.html我希望有一个允许用户访问Facebook的链接。

问题来自这里,因为当我点击链接时,它再次触发事件,并且再次阻止它。

1 个答案:

答案 0 :(得分:1)

我搞砸了一下,现在虽然我还不完全理解为什么会这样做但

Dispose

chrome.webNavigation.onBeforeNavigate.addListener(function(e) { var url = new URL(e.url); if (url.hostname == 'facebook.com') { chrome.tabs.update(e.tabId, {url: 'waster.html'}); } }, {url: [{hostSuffix: 'facebook.com'}]} ); ,而不是与waster.html的正常链接,我需要使用以下js:

<a>