我正在创建一个扩展程序,它将基于突出显示的文本启动一个外部脚本。到目前为止,该脚本有效,除了关闭新创建的窗口时遇到问题。
在我的background.html中,我具有以下内容:
<script>
function executeScript(selection) {
var queryText = 'script:' + selectedText;
chrome.tabs.create({url: queryText});
chrome.tabs.getSelected(null, function(tab) {
chrome.tabs.remove(tab.id);
});
}
</script>
我的问题是上面的设置,它在“ url”加载之前关闭了选项卡,因此它从不执行脚本。
如果我删除了getSelected行(第5-7行),它将打开选项卡并完美运行脚本。我正在尝试获取语法,以便在执行后自动关闭选项卡。
谢谢!
最佳答案
不确定要执行的操作,但是如果要在脚本运行后关闭选项卡,则应让脚本使用chrome.extension.sendRequest
向background.html发送“ Close Me”请求。
使用chrome.tabs.executeScript可能会更好,它允许您传递一个函数(可以关闭选项卡),该函数在脚本运行完成后被调用。