2

たとえば、このようなスクリプトの場合、ユーザーのhttpステータスコードが200または301であるかどうかを確認するスクリプトを作成できるかどうかを調べようとしていますか?サーバーが取得する方法ではなく、ユーザーリクエストのステータスコードである必要があります:)

 <script type="text/javascript"
         src="https://google.com"
 </script>

出来ますか?

編集:Ajaxリクエストで可能かもしれないことをもっと読んで調べましたか?

4

1 に答える 1

3

答えは悲しいことにノーです。
クロスブラウザーのエンドユーザースクリプト(つまり、カスタム拡張機能/ブラウザープラグインを使用しないスクリプト)では、HTTP応答ヘッダー値について、過去のファイル要求を読み取ることはできません。

AJAX呼び出しを行うと、その特定の要求の応答ヘッダーを読み取ることができます(他の要求の場合は読み取ることができません)。
したがって、理論的には、サーバーの応答が何であるかを知りたい場合は、src属性で使用されているスクリプト要求とまったく同じファイルに対してAJAX要求を行うことができます...

しかし、この場合はそうではありません。

この場合、ドメインがである場合を除き、google.comブラウザはそのリクエストを実行できないようにします(AJAX呼び出しは、ユーザーが現在表示しているページと同じドメインから発生する必要があるため)。ただし、新しいブラウザではそれを回避する方法があります。そのような場合でも、google.comサーバーがからのAJAX呼び出しを許可するように設定されているように所有する必要がありますmysite.com

于 2012-11-10T03:24:16.563 に答える