我有一个随机bing搜索的扩展程序。
chrome.browserAction.onClicked.addListener(function(){
var a = Math.floor((Math.random()*100)+1);
chrome.tabs.update(tabId,{'url': "http://www.bing.com/search?q=" + a});
var x = 0;
var intervalID = setInterval(function(){
a = Math.floor((Math.random()*100)+1);
chrome.tabs.update({'url': "http://www.bing.com/search?q=" + a});
// how many times it should work
if(++x === 7){
window.clearInterval(intervalID);
}
},5000); // this is the delay, in milliseconds
});
问题是这会在当前标签上进行搜索。因此,如果我切换标签或打开一个新窗口,它会在我当前的标签上进行搜索。我希望它继续在它开始的标签上。
我的解决方案是将tabId传入chrome.tabs.update。但是,我遇到的问题是我无法弄清楚如何获取上一个选项卡的tab.id.我该如何解决这个问题?
感谢您的帮助!
---我的尝试修复:
var tabId;
chrome.tabs.query(
{currentWindow: true, active : true},
function(tabArray){
tabId = tab.id;
}
);
chrome.browserAction.onClicked.addListener(function(){
var a = Math.floor((Math.random()*100)+1);
chrome.tabs.update(tabId,{'url': "http://www.bing.com/search?q=" + a});
var x = 0;
var intervalID = setInterval(function(){
a = Math.floor((Math.random()*100)+1);
chrome.tabs.update(tabId,{'url': "http://www.bing.com/search?q=" + a});
// how many times it should work (after the first one initially
if(++x === 3){
window.clearInterval(intervalID);
}
},5000); // this is the delay
});