1

MYTEST という名前空間を含むnew_/Scripts/My.JSON2.jsnew_/Script/My.RestOperations.jsという名前の 2 つの Javascript Web リソースを作成しました。そして、同じ場所に、サイトマップ項目がクリックされたときにロードする 1 つの HTML ページを作成しました。名前はnew_/Webpages/My.sitemapPage.htmです。そして、MYTEST名前空間の下の「new_/Scripts/My.RestOperations.js」ファイルにあるhtmlページのJScriptからいくつかのJSON関数を呼び出そうとしています。HTML ページで、以下のように JScript ファイルへの参照を追加しました。

<SCRIPT type=text/javscript src="../Scripts/My.RestOperations.js"></SCRIPT>   
<SCRIPT type=text/javscript scr="../Scripts/My.JSON2.js"></SCRIPT>

<SCRIPT type=text/javscript>
function=pageOnLoad()
{
 MYTEST.retrieveMultiple(dataSet,filter,callBackSuccess,callBackError);
}
</SCRIPT>

しかし、それでも次のようなエラーが発生します。

「MYTEST」は定義されていません。

4

2 に答える 2

1

を使用して、親ウィンドウのにアクセスできますwindow.parent

window.parent.MYTEST.retrieveMultiple(dataSet,filter,callBackSuccess,callBackError);

親ウィンドウの JavaScript ファイルをロードする前に Web リソースのコードを実行しようとする場合、親ファイルがロードされていないという事実を処理するために、try/catch ブロックも配置する必要があります。

try {
    var check = window.parent.MYTEST;
} catch (e) {
    setTimeout(function () { pageOnLoad(); }, 1000);
    return;
}
于 2012-02-23T15:35:56.447 に答える
0

2 つのステップがあります。

  1. たとえば、参照したい Web リソースの URL を見つけます http://servername/organization/WebResources/scriptfile(URL に表示されていない場合は、エクステンション js を含めないでください)。

  2. そのURLを比較的htmlページに入れます。つまり、htmlファイルもWebResourcesフォルダーにある場合にのみ <script type="text/javascript" src="scriptfile"></script>機能します。

キーは、拡張機能でなくソリューションから開いたときにリソース URL に表示されない余分なものを置かないことに注意してください。

于 2014-03-10T20:28:55.547 に答える