2011-07-22 18 views
1

私は若い開発者です。今週初めてJavaのバックグラウンドからJavaScriptを手に入れました。 Firefox用のアドオンが見つかったので、ユーザーは選択したテキストからリンクをコピーできます。その比較的小さいですが、私はそれを(rightclick/selectイベント)ではなくボタンから実行するように設定しようと思います。Firefoxの拡張機能をリバースエンジニアリングする

免責事項:この拡張モジュールはオープンソースであり、GNU General Public Licenseバージョン2.0

私はリバースエンジニアリングの努力はしていませんが、私はアドオンティックを作ることとアドオンではないものにその動作を適用する方法を理解しようとしています。

ソースがここにあります: https://addons.mozilla.org/en-US/firefox/files/browse/77730/(それは、ちょうど1瓶かなり小さいですので、読みすることを恐れてはいけない)

戻るポイントに:小ぎれいなアドオンそれは、ユーザーが選択することができますウェブページ内の複数のリンクを選択し、テキストを右クリックして選択されたリンクをコピーすることによって選択されたリンクをコピー/ペーストする。

だから私の質問の2部:

  1. 私はボタンの代わりに、右クリックからアドオンのこのタイプを実行するにはどうすればよいですか? (私はそれがEOL機能と関係があると仮定しています)

  2. ブラウザ間の互換性以外のアドオンを変換する際に注意すべきことはありますか?私は助力のために著者に連絡すべきか、それとも怒っているでしょうか?

ありがとうございました!

* *

私は理由もなく歓迎するために「真」渡しているかなり確信しています。また 内部型スクリプトにこれを回すかなり確信して それから何かをソースを取って、作るのが私の小さな試み:

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++; 
     } 
    } 

} 
+0

「リバースエンジニアリング」という言葉が誰でも怒っている場合。私に教えてくださいと私は質問をrewordします – Cuber

+0

コマンドのディスパッチャとcommandDispatcher.focusedWindowは簡単なWebページのスクリプトに変換することはできません。私は問題がどこにあるのかと推測しています。 – Cuber

答えて

0

右クリックの代わりにこのタイプのアドオンをボタンから実行するにはどうすればよいですか?

(私はそれがEOL機能とは何かを持っていると仮定しています)いいえ、それはEOL機能とは何の関係もありません - この機能は、単に使用するオペレーティングシステム用の行末文字シーケンスを決定します。エクステンションのオーバーレイは、メニュー項目がクリックされている場合はgCopyLinks.OnCommand('all')を呼び出します。同じことをするボタンを追加したいと思います。拡張機能のツールバーボタンの追加については、https://developer.mozilla.org/en/XUL_School/Adding_Toolbars_and_Toolbar_Buttonsを参照してください。

ブラウザ間の互換性以外のアドオンを変換する際に注意する必要があることはありますか?

はい。拡張機能には、Webコンテンツにはない特権があります。特に、WebアプリケーションがデータをクリップボードにコピーできるようにするAPIは現在のところありません。ただし、1つはproposedbeing worked onです。