Firefox デバッガーを使用せずにさまざまな変数のステータスを確認するために、コンソールにログを追加しています。
console.log
しかし、ファイル内のを追加する多くの場所でmain.js
、自分への素敵な手書きのメッセージではなく、次のエラーが表示されます。
メインスレッドでの同期XMLHttpRequestは、エンドユーザーのエクスペリエンスに悪影響を与えるため非推奨です。詳細についてはhttp://xhr.spec.whatwg.org/
console.log
このエラーが発生しないように、コードにどのような代替手段またはラッパーを追加できますか?
私は「間違ったやり方」をしているのでしょうか?
ベストアンサー1
これは、私が怠けて、返されるコンテンツの一部としてスクリプト タグを含めたときに発生しました。つまり、次のようになります。
部分的な HTML コンテンツ:
<div>
SOME CONTENT HERE
</div>
<script src="/scripts/script.js"></script>
少なくとも私の場合、xhr 経由でそのような HTML コンテンツを返すと、jQuery がそのスクリプトを取得するために呼び出しを行うようです。その呼び出しは、スクリプトの読み込みを続行する必要があると想定しているため、非同期フラグが false の状態で行われます。
このような状況では、何らかのバインディング フレームワークを調べて JSON オブジェクトを返すか、バックエンドとテンプレートに応じてスクリプトの読み込み方法を変更した方がよいでしょう。
また、jQueryのgetScript()
関連するスクリプトを取得します。ここにフィドルがあります。これは jQuery の例をそのままコピーしたものですが、スクリプトがそのように読み込まれたときに警告がスローされることはありません。
例
<script>
var url = "/scripts/script.js";
$.getScript(url);
</script>