【发布时间】:2015-11-08 03:42:08
【问题描述】:
在阅读了these 两个sites 之后,我无法从上下文菜单中运行一段 JS 代码。
index.js:
var self = require('sdk/self');
var contextMenu = require("sdk/context-menu");
var uri = "";
var script = 'self.on("click", function (node, data) {' +
'var uri = "http://test.net/?blee=" + node.href + "blue=true";' +
'console.log(uri);'+
'tabs.open(uri);'+
'});';
var tabs = require('sdk/tabs');
var menuItem = contextMenu.Item({
label: "label",
context: contextMenu.SelectorContext("a[href]"),
contentScript: script,
onMessage: function (data) {
console.log(data);
}
});`
这就是整个扩展程序,奇怪的是它将var uri 输出到控制台,但在tabs.open(uri) 处失败。 tabs.open 是否应该在函数或其他东西中,而不是这个笨拙的脚本?
我正在尝试为 Firefox 编写我的 chrome 扩展来做同样的事情。这是来自 chrome 扩展的代码
main.js:
runFunction= function(word){
var query = word.linkUrl;
chrome.tabs.create({url: "http://test.net/?blee=" + query + "&blue=True"});
};
chrome.contextMenus.create({
title: "Title!",
contexts:["link"],
onclick: runFunction
});
【问题讨论】:
-
firefox web 扩展 - developer.mozilla.org/en-US/Add-ons/WebExtensions/API 是否支持足够的 chrome web 扩展 API 以使您几乎无需修改即可使用 chrome 扩展?老实说,我还不确定 Firefox 的发布版本中是否提供了 Firefox 网络扩展,但这只是一个想法
-
@JaromandaX,我确实注意到 WebExtensions API 即将推出,但我没有仔细阅读。
标签: javascript firefox firefox-addon firefox-addon-sdk