【问题标题】:modify google chrome extension to remove tab修改谷歌浏览器扩展以删除标签
【发布时间】:2012-03-04 19:31:10
【问题描述】:

我正在尝试修改 Chrome 的现有扩展(可读性)。现在,当您保存具有可读性的页面时,它不会在之后关闭选项卡。

扩展中的代码调用托管在其服务器上的脚本:

(function(){
    rdb.chrome.inject_page_script('/bookmarklet/save.js');
 }());

我将代码更改为如下所示:

(function(){
    rdb.chrome.inject_page_script('/bookmarklet/save.js');
    chrome.tabs.getSelected( null, function(tab) 
        { chrome.tabs.remove(tab.id);   return true; }); 
 }());

但它不会关闭标签或正确使用它们的功能。我在没有他们调用的情况下单独在函数中尝试了关闭选项卡代码,但它没有关闭选项卡。

有没有办法在他们的脚本为页面添加书签后修改他们关闭标签的调用?

【问题讨论】:

    标签: javascript google-chrome google-chrome-extension


    【解决方案1】:

    我不会再使用 chromchrome.tabs.getSelected,因为它最近已被弃用。建议您改用chrome.tabs.query。不过也值得一提的是这两种方法require the tabs permission

    如果我自己不查看可读性扩展,很难确定为什么您的代码没有被调用,但我建议您在代码中添加调试(例如console.log('foo'))语句以确定为什么没有到达该代码.

    最后,确保您关注correct debugging/development procedures,以便您可以更轻松地测试您的更改。

    【讨论】:

      【解决方案2】:

      试试:

      chrome.tabs.getCurrent(function(tab) {
          chrome.tabs.remove(tab.id, function(){});
      });
      

      【讨论】:

      • 我得到“Uncaught TypeError: Cannot read property 'getCurrent' of undefined”
      猜你喜欢
      • 2012-11-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-08-15
      • 1970-01-01
      相关资源
      最近更新 更多