所以我不過工作在我的下一個附加的Firefox,而閱讀ContextMenus的文檔,似乎在onMessage事件永遠不會被調用,這裏是我的代碼:的onMessage事件從未被稱爲
exports.main = function(){
var addonTab = require('addon-page');
var data = require('self').data;
var tabs = require('tabs');
var cm = require("context-menu");
cm.Item({
label: "Tag This Image",
context: cm.URLContext("*"),
contextSelector: "img",
contentScript:
'self.on("click", function(node, data){' +
' self.postMessage(node);' +
'});',
// nothing works...
onMessage: function(node){
openImageEditor(node.src);
alert("Message? It worked? No way!");
onTagImage(node);
}
});
var onTagImage = function(node){
alert("Image tagged!");
};
tabs.open({url: data.url('index.html'), isPinned:true});
};
所以我來看看錯誤控制檯,但這probbaly我見過的最糟糕的一種格式錯誤的......
Timestamp: 14/07/2012 3:21:44 Error: An exception occurred. Traceback (most recent call last): File "resource://jid0-dxglsws2k0cubycbcn7cw5tcyqk-at-jetpack/addon-kit/lib/context-menu.js", line 1310, in CMP_handleEvent this.handleClick(event.target); File "resource://jid0-dxglsws2k0cubycbcn7cw5tcyqk-at-jetpack/addon-kit/lib/context-menu.js", line 1339, in CMP_handleClick this.browserWin.fireClick(topLevelItem, popupNode, item.data); File "resource://jid0-dxglsws2k0cubycbcn7cw5tcyqk-at-jetpack/addon-kit/lib/context-menu.js", line 1162, in BW_fireClick worker.fireClick(popupNode, clickedItemData); File "resource://jid0-dxglsws2k0cubycbcn7cw5tcyqk-at-jetpack/addon-kit/lib/context-menu.js", line 663, in CMW_fireClick this._contentWorker.emitSync("click", popupNode, clickedItemData); File "resource://jid0-dxglsws2k0cubycbcn7cw5tcyqk-at-jetpack/api-utils/lib/content/worker.js", line 71, in emitSync return this._emitToContent(Array.slice(arguments)); File "resource://jid0-dxglsws2k0cubycbcn7cw5tcyqk-at-jetpack/api-utils/lib/content/content-worker.js", line 96, in onChromeEvent return emit.apply(null, args); File "resource://jid0-dxglsws2k0cubycbcn7cw5tcyqk-at-jetpack/api-utils/lib/content/content-worker.js", line 45, in onEvent results.push(callback.apply(null, args)); File "javascript:self.on("click", function(node, data){
self.postMessage(node);});", line 1, in null File "resource://jid0-dxglsws2k0cubycbcn7cw5tcyqk-at-jetpack/api-utils/lib/content/content-worker.js", line 81, in onEvent let str = JSON.stringify(args, replacer); [Exception... "Component returned failure code: 0x80040111 (NS_ERROR_NOT_AVAILABLE) [nsIImageLoadingContent.loadingEnabled]" nsresult: "0x80040111 (NS_ERROR_NOT_AVAILABLE)" location: "JS frame :: resource://jid0-dxglsws2k0cubycbcn7cw5tcyqk-at-jetpack/api-utils/lib/cuddlefish.js -> resource://jid0-dxglsws2k0cubycbcn7cw5tcyqk-at-jetpack/api-utils/lib/sandbox.js -> resource://jid0-dxglsws2k0cubycbcn7cw5tcyqk-at-jetpack/api-utils/lib/content/content-worker.js :: onEvent :: line 81" data: no]
這裏的實際線,但這不是讓任何意義我:
File "javascript:self.on("click", function(node, data){self.postMessage(node);});", line 1, in null
問題:這個錯誤的含義是什麼,或者說上面的那一行有什麼錯誤?
你想使用jQuery的'。對()',而無需實際加載的jQuery? – ThiefMaster 2012-07-14 10:16:49
@ThiefMaster我使用的是firefox-addon-sdk中的on()事件,無論是從插件本身idk中獲得的jQuery,但我相信這不是問題,但我有一個想法,爲什麼這可能會有發生了,我相信這個「自我」的參照不是全球性的,而是我必須指定的一個參考,在我回頭看時會嘗試。 – EliotVU 2012-07-14 10:47:37
顯然不是這種情況:/ – EliotVU 2012-07-14 11:00:04