mozilla
Your Search Results

    mozIJSSubScriptLoader

    このインタフェースは、 実行時に与えられた URL の JavaScript コードを読み込み実行するために、特権を持つ JavaScript から使用されます。
    28
    Introduced
    Gecko 1.0
    継承元: nsISupports 最終更新: Gecko 2.0 (Firefox 4 / Thunderbird 3.3 / SeaMonkey 2.1)

    実装元: @mozilla.org/moz/jssubscript-loader;1。このサービスを取得するには次のコードを使用します:

    var mozIJSSubScriptLoader = Components.classes["@mozilla.org/moz/jssubscript-loader;1"]
                                .getService(Components.interfaces.mozIJSSubScriptLoader);
    
    補足: もう一つの JavaScript コードをインポートする方法は、Components.utils.import を参照してください。

    メソッドの概要

    void loadSubScript(in wstring url, in targetObj Optional, in charset Optional);

    メソッド

    loadSubScript()

    スクリプトを指定された URL から同期的に読み込み、実行します。

    指定されたスクリプトはシステムの規則に従って実行されます。これは、スクリプトができることに、全く制限がないことを意味します。

    註: このメソッドは JavaScript からのみ呼び出されます!

    void loadSubScript(
      in wstring url,
      in targetObj Optional,
      in charset   Optional, 
    );
    
    引数
    url
    読み込むスクリプトを指す URL。これは、ローカルの chrome: または resource:, file: URL であるべきです (バグ 307686 および バグ 418356 を参照)。

    Gecko 1.9 note
    (Firefox 3)

    Firefox 3.0 より前のバージョンでは、data: URL が使用できましたが、セキュリティ上の問題から許可されなくなりました。

    targetObj
    スクリプトが実行されるためのスコープオブジェクトとして使用されるオブジェクト。デフォルトでは、呼び出し元のグローバルオブジェクトになります。
    charset
    読み込むスクリプトファイルの文字エンコーディングを指定する任意の文字列。省略すると、ファイルは ASCII 文字列として処理されます。

    var global = this;
    var obj = {};
    var loader = Components.classes["@mozilla.org/moz/jssubscript-loader;1"]
                           .getService(Components.interfaces.mozIJSSubScriptLoader);
    loader.loadSubScript("data:text/plain,var a=1", obj)
    loader.loadSubScript("data:text/plain,this.b=1", obj)
    loader.loadSubScript("data:text/plain,c=1", obj)
    loader.loadSubScript("data:text/plain,function f(){}", obj)
    
    alert(obj.toSource()); // ({a:1, b:1, f:function f() {}})
    alert("a" in global); // false
    alert("b" in global); // false
    alert(global.c); // 1
    

    ドキュメントのタグと貢献者

    Contributors to this page: Marsf
    最終更新者: Marsf,