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