Java脚本函数tom从扩展名
打开弹出窗口var trackchildwindow;
$('#done').submit(function(){
trackchildwindow=chrome.windows.create({url: 'chrome-extension://'+<extensionid>+'/src/browser_action/ChildPage.html', type: 'popup' , focused: true, 'width': 900 ,'height': 700, 'left': 600, 'top': 800 });
});
在相同的javascript文件函数中关闭弹出窗口
window.onbeforeunload = function () {
Chrome.windows.remove(trackchildwindow.id, function(){});
};
然而,它无法关闭弹出窗口。我也试过使用trackchildwindow.close();
。不工作。任何帮助将不胜感激
............................编辑.................... < / p>
我找到了答案
Buttonclose= function close(){
open(location, '_self').close();
}
就是这样。为了从我的主窗口保留记录,我正在使用
chrome.extension.sendMessage
答案 0 :(得分:1)
trackchildwindow = chrome.windows.create(options);
无效,因为该功能是异步的,并且不会返回任何内容(与大多数Chrome API一样)
你需要处理它in a callback:
chrome.windows.create(options, function(win) {
trackchildwindow = win;
// Note, this is asynchronous..
});
// ..and as such trackchildwindow is not defined here yet
由于代码是异步的,因此在使用该值时需要小心。