我正在尝试通过浏览器操作打开一个窗口的Chrome扩展程序。
var wid = null;
chrome.windows.get(wid, function(chromeWin) {
chrome.windows.create({'url': 'https://google.com'}, function(chromeWin) {
wid = chromeWin.id;
}
);
});
为了避免出现多个窗口的副本,我正在尝试检查窗口ID。但是如果第一次使用,可以理解的是,它会抛出错误,因为
wid
为null
。
我尝试使用错误:调用表单windows.get(null,function)与定义windows.get(integer windowId,optional object getInfo,function callback)不匹配
try..catch
块,在catch中处理"wid
为null
"的情况。try {
var wid = null;
chrome.windows.get(wid, function(chromeWin) {
chrome.windows.create({'url': 'https://google.com'}, function(chromeWin) {
wid = chromeWin.id;
}
);
});
}
catch(error) {
chrome.windows.create({'url': 'https://google.com'}, function(chromeWin) {
wid = chromeWin.id;
}
);
}
但是
try..catch
没有捕获"wid
is null
"的情况。我知道if
语句对我的实验可能有帮助,但我想了解为什么try
会表现出这种方式。为什么
try..catch
没有捕获错误,如何在Chrome中打开窗口而不复制?
null
。wid
和winId
,因此代码可能不完整或存在拼写错误。