1

サーバーに割り当てられていない外部 JavaScript をユーザーがブロックしたかどうか、つまり、私のサイトで jquery が jquery.org からロードされているかどうかをアプリケーションで知る方法と、ユーザーがそのサイトをブロックした場合、そのユーザーにメッセージを表示するにはどうすればよいですか? jquery.org からのスクリプトを許可します。

stackoverflow をブロックすると、stackoverflow.com のサイトにこのようなものが表示されることがわかりました。

「スタック オーバーフローには、ブロックされているか、読み込みに失敗した別のドメインからの外部 JavaScript が必要です。」

メッセージなので、私の質問は、外部スクリプトが正常にロードされたかどうかを知るにはどうすればよいですか?

前もって感謝します。

4

5 に答える 5

2

Answers に加えて、<script>要素の hasonloadonerrorevents など、他の多くの要素があります。 ブラウザの互換性に関する情報と、古い IE で動作させる方法に関する質問があります。

于 2013-04-08T09:56:59.843 に答える
0

typeof外部リソースで定義されている関数または変数を確認できます。

サイトが必要jQueryで、外部リソースから読み込まれた場合は、次のチェックを実行するだけです。

if (typeof jQuery === "undefined"){
  console.log("jQuery is not defined");
}

jQuery を最初に使用する直前にチェックを入れます。

于 2013-04-08T09:48:53.163 に答える
0

最も簡単な解決策: 外部スクリプトの後に、それが導入するシンボル (例: jQuery) が存在するかどうかをテストするコードを配置します。

<script src="url-to-jquery"></script>
<script>
    if (!window.jQuery) {
        alert('jQuery could not be loaded');
    }
</script>

しかし、多くの外部参照がある場合、それは退屈になる可能性があります。その場合、https://github.com/cujojs/curlなどのリソース ローダーに基づいて構築することをお勧めします。

于 2013-04-08T09:45:54.200 に答える
-1

外部 js で何かを実行します。たとえば、スクリプトで特定のクラスを本文に追加します。

<body class="js-file-1-loaded js-file-2-loaded ...">

これにより、何かがロードされたかどうかをいつでも確認できます。

于 2013-04-08T09:46:04.317 に答える