0

ターゲット Web サイトから js ファイルを取得する自動 JSLint テストをセットアップしようとしています。次に、Selenium を使用して、Js ファイルの URL を使用して JSLint テストを実行するテスト サイトに対して実行します。

これをローカルでテストしようとすると、2 つの異なる localhost Web サイトで問題が発生します。

 $(function () {

      $.ajax({
        url: "http://code.jquery.com/jquery-latest.min.js",
        //url: "http://localhost:62338/Scripts/test.js", // url to other local site
        dataType: "text"
      }).done(function (data) {
        var myResult = JSLINT(data);
        ..
      });
    });

jquery url を指す url を使用して上記のコードを実行すると、正常に動作し、JSLint がこのファイルを分析します。しかし、他のローカルホスト サイトの js ファイルを指定しようとすると、壊れてしまいます。Chrome で Network Inspector を表示すると、スクリプトの呼び出しがキャンセルされたと表示されます。

この方法でローカルにホストされている js ファイルにアクセスできない理由はありますか?

ちなみに、MVC4 Web プロジェクトを使用しています。

編集:CorsまたはIPを指している運がありませんでしたが、ドミニクの答えは最終的にこの質問につながりました.Chromeでセキュリティを無効にすることができます. このオプションはまったく好きではありませんが、すべての TeamCity をセットアップする前にローカルでテストするだけで、Chrome を再起動するとすぐに変更が元に戻されます。

Edit2 :この質問に対する2番目の回答も、次を追加することで機能しました。

<httpProtocol>
      <customHeaders>
        <clear />
        <add name="Access-Control-Allow-Origin" value="*" />
      </customHeaders>
    </httpProtocol>

..ターゲット サイトの web.config に対して、Chrome でセキュリティを無効にすることなく、これを機能させることができました。ターゲット サイトは単なるダミー サイトであり、ローカルで使用されているため、これは私にとってははるかにうまく機能します。

4

2 に答える 2