html、javascript、および.infを使用したInternet Explorer用の最も単純なプラグイン

自分でIEを使用していない場合でも、HTMLヘルプを使用しているか、サイトにIEのユーザーがいます。



個人的に、IEでは、リンクとして設計されていないWebページの一部を選択し、それをURLとしてクリックするためのOperaの十分な能力がありませんでした。 インターネットで少し調べて、私は自分にそのようなことを嘘をついた





Operaの場合よりも少し便利です。URLの一部が選択されている場合、このメニュー項目は表示されませんが、私にとっては、選択されたテキストに対して表示されます。



プラグインは、openselection.htmlとopenselection.infの2つのファイルで構成されています。 1つ目はプラグインコード自体で、2つ目はインストール手順が含まれています。 トピックに関するドキュメントを最初に読みたい場合は、MSDNこちら 、およびこちらご覧ください



そして、ここで私が得たファイルの内容を提供します:



openselection.html



 <HTML>
 <SCRIPT LANGUAGE = "JavaScript"延期>
 var value = external.menuArguments.document.selection.createRange()。text;
 var protocols = ['http'、 'https'、 'ftp'、 'mailto'];
関数startsWith(s、プレフィックス)
 {
     return s.substr(0、prefix.length)== prefix;
 }
関数hasProtocol(s)
 {
    for(プロトコルのi)
    {
        if(startsWith(s.toLowerCase()、protocols [i] + ':'))
             trueを返します。 
    }
    falseを返します。
 }
 if(!hasProtocol(value))
    値= 'http://' +値;
 external.menuArguments.open(値、「_ blank」);
 </ SCRIPT>
 </ HTML> 




ここでの主なプラグインのトリックは、ウィンドウの代わりにexternal.menuArgumentsを使用することです。実際、プラグイン用に異なるセキュリティコンテキストを持つ新しいウィンドウが作成され(スクリプトは、たとえばFileSystemオブジェクトを作成してファイルを操作できます)、元のウィンドウはexternal.menuArgumentsに転送されます。 ウィンドウを使用すると、新しいタブの代わりに新しいウィンドウが開きます。



openselection.inf



 [バージョン]
署名= $ CHICAGO $

 [デフォルトインストール]
 AddReg = Add.Settings

 [追加設定]
 HKCU、ソフトウェア\ Microsoft \ Internet Explorer \ MenuExt \ URLを開く,, 0、 "%01%\ openselection.html"
 HKCU、ソフトウェア\ Microsoft \ Internet Explorer \ MenuExt \ URLを開く、コンテキスト、0x00010001、0x10




ここではすべてが簡単です-新しいレジストリキーが追加され、その名前はメニュー項目の名前と一致し、次の2つの値があります。



インターネット上でプラグインテキスト自体をjavascript:リンクの形式で登録しようとする痕跡があるのは興味深いですが、IE8ではこれは機能しません。



このことは誰にとっても便利であれば嬉しいです。



All Articles