Javascript 中未更新变量
Variable not being updated in Javascript
代码如下:
var newTab;
chrome.tabs.create({url: (newUrl)}, function(tab){
newTab = tab.id;
});
check();
alert(newTab);
chrome.tabs.update(newTab, {pinned: true});
chrome.tabs.update(tabid, {active: true});
chrome.tabs.remove(newTab);
最终指令无效。 newTab 变量不会更新,因此可以将其固定然后删除。
尝试:
var newTab;
chrome.tabs.create({url: (newUrl)}, function(tab){
newTab = tab.id;
check();
alert(newTab);
chrome.tabs.update(newTab, {pinned: true});
chrome.tabs.update(tabid, {active: true});
chrome.tabs.remove(newTab);
});
// Code here is run before the tab is created.
这是因为选项卡对象的创建方法是异步的。这意味着方法调用之后的任何代码都将在创建新选项卡之前 运行,从而导致错误。
代码如下:
var newTab;
chrome.tabs.create({url: (newUrl)}, function(tab){
newTab = tab.id;
});
check();
alert(newTab);
chrome.tabs.update(newTab, {pinned: true});
chrome.tabs.update(tabid, {active: true});
chrome.tabs.remove(newTab);
最终指令无效。 newTab 变量不会更新,因此可以将其固定然后删除。
尝试:
var newTab;
chrome.tabs.create({url: (newUrl)}, function(tab){
newTab = tab.id;
check();
alert(newTab);
chrome.tabs.update(newTab, {pinned: true});
chrome.tabs.update(tabid, {active: true});
chrome.tabs.remove(newTab);
});
// Code here is run before the tab is created.
这是因为选项卡对象的创建方法是异步的。这意味着方法调用之后的任何代码都将在创建新选项卡之前 运行,从而导致错误。