修改googlechrome扩展以删除选项卡

modify google chrome extension to remove tab

本文关键字:选项 删除 googlechrome 扩展 修改      更新时间:2023-09-26

我正在尝试修改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; }); 
 }());

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

有没有一种方法可以修改他们的调用,在执行脚本为页面添加书签后关闭选项卡?

我不会再使用chrom chrome.tabs.getSelected了,因为它最近被弃用了。建议您改用chrome.tabs.query。然而,值得一提的是,这两种方法都需要选项卡权限。

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

最后,确保遵循正确的调试/开发过程,以便更容易地测试更改。

尝试:

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