【发布时间】:2013-01-05 08:12:51
【问题描述】:
我正在尝试使用上下文菜单项来调用我在内容脚本中编写的方法。
这可能吗?
正如我所尝试的,上下文菜单只能在后端做事。
例如
// A generic onclick callback function.
function genericOnClick(info, tab) {
console.log("item " + info.menuItemId + " was clicked");
console.log("info: " + JSON.stringify(info));
console.log("tab: " + JSON.stringify(tab));
}
// Create one test item for each context type.
var contexts = ["page","selection","link","editable","image","video",
"audio"];
for (var i = 0; i < contexts.length; i++) {
var context = contexts[i];
var title = "Test '" + context + "' menu item";
var id = chrome.contextMenus.create({"title": title, "contexts":[context],
"onclick": genericOnClick});
console.log("'" + context + "' item:" + id);
}
此示例无法在当前页面上记录信息,而是在后台页面上记录信息。
我有一个 内容脚本 可以在指定页面上生成内容:
var showInfo = function(){ var dialogBoxWrapper = document.createElement("div");
document.body.appendChild(dialogBoxWrapper);}
我需要通过上下文菜单调用这个函数。 我该怎么办?
【问题讨论】:
-
您可以使用消息通信通过上下文菜单从后台页面间接调用内容脚本的方法
-
感谢您的回复。你能给我举一个这个案例的简单例子吗?
-
查看我的答案以获取示例演示
标签: google-chrome google-chrome-extension content-script