修改Google Chrome扩展程序以删除标签

时间:2012-03-04 19:31:10

标签: google-chrome google-chrome-extension

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

但它没有关闭标签或正确使用它们的功能。我在功能中单独尝试了关闭选项卡代码而没有调用它,也没有关闭选项卡。

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

2 个答案:

答案 0 :(得分:3)

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

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

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

答案 1 :(得分:1)

尝试

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