私は若い開発者です。今週初めてJavaのバックグラウンドからJavaScriptを手に入れました。 Firefox用のアドオンが見つかったので、ユーザーは選択したテキストからリンクをコピーできます。その比較的小さいですが、私はそれを(rightclick/selectイベント)ではなくボタンから実行するように設定しようと思います。Firefoxの拡張機能をリバースエンジニアリングする
免責事項:この拡張モジュールはオープンソースであり、GNU General Public Licenseバージョン2.0
私はリバースエンジニアリングの努力はしていませんが、私はアドオンティックを作ることとアドオンではないものにその動作を適用する方法を理解しようとしています。
ソースがここにあります: https://addons.mozilla.org/en-US/firefox/files/browse/77730/(それは、ちょうど1瓶かなり小さいですので、読みすることを恐れてはいけない)
戻るポイントに:小ぎれいなアドオンそれは、ユーザーが選択することができますウェブページ内の複数のリンクを選択し、テキストを右クリックして選択されたリンクをコピーすることによって選択されたリンクをコピー/ペーストする。
だから私の質問の2部:
私はボタンの代わりに、右クリックからアドオンのこのタイプを実行するにはどうすればよいですか? (私はそれがEOL機能と関係があると仮定しています)
ブラウザ間の互換性以外のアドオンを変換する際に注意すべきことはありますか?私は助力のために著者に連絡すべきか、それとも怒っているでしょうか?
ありがとうございました!
* *
私は理由もなく歓迎するために「真」渡しているかなり確信しています。また 内部型スクリプトにこれを回すかなり確信して それから何かをソースを取って、作るのが私の小さな試み:
HTML:
<input type="button" id="grablinkstest" value="CopyLinks" onclick="welcome(true);"/>
JAVASCRIPT:
function welcome() {
alert("welcome command works");
var focusedWindow = document.commandDispatcher.focusedWindow;
var focusedDoc = document.commandDispatcher.focusedWindow.document;
var argc = gCopyLinks.GetLinks.arguments.length;
var argv = gCopyLinks.GetLinks.arguments;
var reMask;
var selLinks = [];
for(i = 0; i < focusedDoc.links.length; i++) {
if((!bSelected || focusedWindow.getSelection().containsNode(focusedDoc.links[i], true)) && (argc <= 1 || focusedDoc.links[i].href.match(reMask))) {
selLinks[j] = focusedDoc.links[i].href;
j++;
}
}
}
「リバースエンジニアリング」という言葉が誰でも怒っている場合。私に教えてくださいと私は質問をrewordします – Cuber
コマンドのディスパッチャとcommandDispatcher.focusedWindowは簡単なWebページのスクリプトに変換することはできません。私は問題がどこにあるのかと推測しています。 – Cuber