在Chrome浏览器扩展上下文菜单弹出窗口(popup window at chrome exten

2019-06-26 15:37发布

我正在开发一个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')});

但是,因为我想这个代码不起作用。 在弹出的对话框上下文项目点击后没有出现,而是之后的Chrome扩展偏好扩展的刷新。

提前致谢!

Answer 1:

chrome.contextMenus.create({... "onclick": popup('http://example.com')})

调用popup立即功能,造成弹出窗口被打开。 你必须传递给函数的引用。 为了让您的代码工作,包裹在一个函数的函数调用:

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

window.open()可以被用来创建一个弹出。 另一种方法(只是为了让你知道它的存在)是chrome.windows.create



文章来源: popup window at chrome extensions' context menu