2

a.HTMLb.JSの2つのWebリソースをアップロードしました。HTMLドキュメントには、スクリプトが実行される(そして、想定どおりに機能する)セクションがあり、フォームのIFRAMEにロードをアップロードします。

コードのサイズが大きいため、コードをリファクタリングする必要があると感じました。一部のメソッドを、HTMLWebリソースのscriptタグから別のJSWebリソースに移動したいと思います。

最初のステップでは、次のように個別のJSWebリソースを設定しました。

function test() { alert("Success."); }

HTMLドキュメント内のスクリプトから、次のように実行します。テストがページに認識されていないため、エラーが発生します。

alert("Get ready for test...");
test();
alert("Did it work?");

もちろん、フォームにJS Webリソースを追加し、savepublishedしました。そこに主題に関する驚くほど少ない情報があります。私はそれらのリンクを見つけましたが、それらのどれも私が必要としているものと正確に一致せず、目前の問題に取り組む方法についてのヒントを私に与えません。

  • このリンクは私達成したいものに似ていますが、両方がWebリソースであるJSからJSを呼び出すことに関するものです。
  • このリンクは私が望むものとは対角線上にありますが、両方がWebリソースである場合にJSからHTMLを呼び出すことからそれを逆にする方法わかりません。

何を修正すればよいですか?

4

3 に答える 3

1

あなたの test() 関数は、HTML ドキュメントのウィンドウの範囲内にあると思います。iframe のドキュメント内から呼び出すと、スコープ内で test() が検索されます。

試してみる

alert("Get ready for test...");
parent.window.test();
alert("Did it work?");

test() が iframe で定義されていて、HTML ドキュメントから呼び出している場合は、これを試してください。

alert("Get ready for test...");
document.getElementById("iframeId").src ="javascript:test();"
alert("Did it work?");
于 2012-12-08T13:10:19.150 に答える
1

以下の仮定を確認してください。

  • Web リソースを保存しますか?
  • すべての変更を公開しますか?
  • 対象エンティティのフレームにリソースを追加しますか?
  • 関数に名前を付ける
  • 正しい名前を呼んでparent.window.test()ください。

上記のすべてに該当する場合は、3 つのことを行います

  1. マイクロソフトにお問い合わせください。重大なバグを発見しました。
  2. 気を付けて。すぐに豚が飛んできます
  3. コートを入手してください。これからますます寒くなる。

(ということは、私が提供したリストの何かを確実に見逃しているということであり、マイクロソフトに連絡する必要はなく、豚が飛び始めたり、地獄が凍ったりすることはありません。)

于 2012-12-08T13:56:52.370 に答える