chrome extensions'上下文菜单中的弹出窗口

Pat*_*enz 7 javascript contextmenu popupwindow google-chrome-extension

我正在开发一个chrome扩展并遇到问题.我已经在chrome的上下文菜单中添加了一个项目,如果单击该菜单项,则需要打开一个弹出窗口.我的代码看起来像这样:

function popup(url) {
window.open(url, "window", "width=600,height=400,status=yes,scrollbars=yes,resizable=yes");
}

chrome.contextMenus.create({"title": "Tumblr", "contexts":["page","selection","link","editable","image","video","audio"], "onclick": popup('http://example.com')});
Run Code Online (Sandbox Code Playgroud)

但是这段代码不能正常工作.单击上下文项后,弹出窗口不会出现,而是在chrome扩展首选项中刷新扩展名后.

提前致谢!

Rob*_*b W 5

chrome.contextMenus.create({... "onclick": popup('http://example.com')})
Run Code Online (Sandbox Code Playgroud)

popup立即调用该函数,导致弹出窗口被打开.您必须传递对函数的引用.要使代码工作,请将函数调用包装在函数中:

chrome.contextMenus.create({
    "title": "Tumblr",
    "contexts": ["page", "selection", "link", "editable", "image", "video", "audio"],
    "onclick": function() {
        popup('http://example.com');
    }
});
Run Code Online (Sandbox Code Playgroud)

window.open()可用于创建弹出窗口.另一种方法(只是为了让你知道它存在)是chrome.windows.create.