我正在尝试开发Google Chrome扩展程序,它是如何运作的?好吧有一个网络,每次你去那里它会重定向,但是经过一些尝试它不会重定向,我需要做的是我的扩展自动输入该网址,直到它停止重定向。
我明白了:
function update_tab(activeTab){
chrome.tabs.query({active: true, currentWindow: true}, function(tabs) {
activeTab = tabs[0];
}
}
chrome.browserAction.onClicked.addListener(function(tab) {
chrome.tabs.create({"url": "https://Example.com/SiteWanted"});
wait(3000);
chrome.tabs.query({active: true, currentWindow: true}, function(tabs) {
var activeTab = tabs[0];
while(activeTab.url === "https://Example.com/SiteIDontWant"){
chrome.tabs.update(activeTab.id,{url:"example.com/SiteWanted"});
update_tab(activeTab);
wait(3000); // i know this function is weird, but it is necessary for the code to work, and yes, i known that using functions to delay the code is not... right
}
});
});
我已经尝试过几乎所有内容,更改了var名称,尝试了不同的方法,如chrome.tabs.getCurrent,在main函数中移动代码(update_tab)以及其他我认为可以帮助我的东西,但是我无法解决这个,我已经想到的是,无论我做什么,update_tab里面的代码都不会运行,如果不这样,url就会赢得"更新"在代码中,所以While循环将永远运行,并且随之而来,扩展将永远地输入相同的URL。
非常感谢任何帮助,谢谢:)
答案 0 :(得分:0)
为什么你使用while循环如果条件满足肯定它会永远运行。
if(activeTab.url === "https://Example.com/SiteIDontWant"){
chrome.tabs.update(activeTab.id,{url:"example.com/SiteWanted"});
update_tab(activeTab);
wait(3000); // i know this function is weird, but it is necessary for the code to work, and yes, i known that using functions to delay the code is not... right
}