私はfirefox extensionを開発しています。私はfirebugのような要素の:hover
状態をシミュレートしたいと思います。設定方法:inIDOMUtils :: setContentStateを使用してDOM要素のホバー状態を設定しますか?
my-script-file.js
に私は[0] DOM要素ではないjQueryオブジェクトを取得することであることを要素オブジェクトなど$('#myDiv')[0]
ノートでself.port
を使用してmousehover
を放出します。
私の問題は、このコードはうまく動作せず、domUtil.setContentState(step.element, 0x04);
行にエラーが発生します。 エラーがある:私はsetContentState()定義については、Firefoxのドキュメントサイトに行って、私はここで私の選択element
nsIDOMElement
にオブジェクトを変換する方法である私の要素がnsIDOMElement
私の質問のインスタンスでなければなりませんnotited
。
実際には私の質問は、またはjquery $()
によって選択された要素に:hover
を強制的に強制する方法です。
私は放火犯のソースコードを読んで、このスニペットを思い付く:
var {Cc, Ci, Cr} = require("chrome");
var domUtil = Cc["@mozilla.org/inspector/dom-utils;1"].getService(Ci.inIDOMUtils);
exports.main = function() {
var attachToTab = function(tab)
{
if(currentWorker)
currentWorker.destroy();
currentWorker = tab.attach({
contentScriptFile: [data.url("jquery.js"), data.url("my-script-file.js")]
});
currentWorker.port.on('mousehover', function(element){
console.log('doing setContentState :hover');
domUtil.setContentState(element, 0x04);
});
}
require("widget").Widget({
id: "MyAddonBtn",
label: "Sample",
contentURL: data.url("images/addon.ico"),
onClick: function(){
attachToTab(tabs.activeTab);
}
});
}
あなたの情報とスニペットに感謝します。 –