0

ホスト a に「a.js」という名前の JavaScript ファイルがあります。a.js のコードは次のとおりです。

function sayHello() {
    alert("Hello, world");
}

ホスト b にあるという名前の html ファイルがb.htmlあり、そこには次のようなコードがあります。

<html>
  <head>
    <script type="text/javascript" src="http://a/js/a.js" />
    <script type="text/javascript">
      sayHello();
    </script>
  </head>
  <body>
  </body>
</html>

ブラウザで「http://b/b.html」という URL をキー入力すると (IE8、Chrome でテストしました)、ブラウザで警告ウィンドウが表示されません。私は何か設定を逃しましたか?

Google の JavaScript API ファイルをインクルードするのと同じように、b.html に別のホストにある JavaScript ファイルをインクルードし、JavaScript ファイル内の関数を実行できるようにするにはどうすればよいですか?

ご協力ありがとうございました。

4

2 に答える 2

3

別のドメインから JavaScript を含めることにはセキュリティ上の制限はありません (1 つのドメインに常駐する必要がある ajax 呼び出しとは異なります)。最初にブラウザで js 自体を表示できることを確認します。まず URL に直接アクセスしてから、それをコピーして src タグに貼り付けます。動作します(javascriptが動作している場合!):)

于 2013-01-21T00:56:40.667 に答える
3

<script>タグが自己終了しないため、この問題が発生しています (XML コンテンツ タイプでファイルを提供している場合を除く)。Dr.Dredel が言ったように、この場合、それはいかなる種類のセキュリティ制限とも関係ありません。マークアップを次のように変更します。

<script type="text/javascript" src="http://a/js/a.js"></script>

詳細な参考資料:自己終了スクリプト タグが機能しないのはなぜですか?

于 2013-01-21T01:01:07.293 に答える