self.postMessage和onMessage不适用于上下文项

时间:2012-07-23 12:02:59

标签: javascript firefox-addon contextmenu firefox-addon-sdk

我正在尝试为Firefox开发一个插件(使用最新版本的JetPack),它会在点击上下文项目时发送一些AJAX数据。然而,不幸的是,我似乎遇到了一些问题。

请参阅下面的代码 - 我试图让它尽可能简单易懂。

// file main.js
var contextMenu = require("context-menu");
var data = require("self").data;

exports.main = function(options, callbacks) {
    var contextMenuItemContentScriptFiles = [data.url("content.js")];

    var menuItemSelection = contextMenu.Item({
        label: "This is a test",
        contentScriptFile: contextMenuItemContentScriptFiles,
        context: contextMenu.SelectionContext(),

                onMessage: function (testVar) {                    
                            alert(testVar);                    
                }                                
    });
};

// file content.js
self.on("click", function (node, data) {
        alert("before posting");
        self.postMessage("messagePosted");
        alert("after posting");
});

代码在发布“之前发送”之前提醒”但是它没有像我期望的那样警告“messagePosted”

你能帮我找到问题吗?

1 个答案:

答案 0 :(得分:1)

发现问题。

我不得不使用console.log,而不是来自主脚本的警报。