我想提出,當用戶點擊一個附加的小部件出現這種情況加載的網頁上:如何從mozilla插件使用頁面的jQuery方法?
var e = jQuery.Event("keydown", { keyCode: 405 });
$("input").trigger(e);
jQuery是已經加載到目標頁面。我已經試過這樣:
var widgets = require("widget");
var tabs = require("tabs");
var pageMod = require("page-mod");
var widget = widgets.Widget({
id: "button-test",
label: "button-test",
contentURL: "http://www.mozilla.org/favicon.ico",
onClick: function() {
tabs.activeTab.attach({
contentScript:
'var e = window.jQuery.Event("keydown", { keyCode: 405 }); $("input").trigger(e);'
});
}
});
我在控制檯中出現以下錯誤:
Timestamp: 30/08/2012 14:06:36
Error: An exception occurred.
Traceback (most recent call last):
File "javascript:var e = window.jQuery.Event("keydown", { keyCode: 405 }); $("input").trigger(e);", line 1, in
TypeError: window.jQuery is undefined
我需要的postMessage或port.emit()?我;也嘗試過只是jQuery.event(沒有窗口)
什麼樣的錯誤呢你的第一個代碼塊的JavaScript拋出? – MaxPRafferty
我粘貼了我所得到的唯一錯誤。我可以在Chrome的控制檯中運行第一個代碼塊 – codecowboy
不知道有關mozilla插件加載空間的任何信息,您是否可以訪問window.XXX中的其他全局變量?如果你不知道,扔XXX =「發現」;進入你的頁面代碼並提醒(window.XXX);插入你的插件 - 如果運行,那麼你可能只需要等待jQuery加載。 – MaxPRafferty