2016-09-13 1 views
-2

私はインラインjsと外部jsの両方をウェブサイト上に持っています。インラインjsがロード/完了するのを待つ

私は問題があります。外部jsにはインラインjsで定義された変数が必要ですが、私の驚いたことに外部jsはすぐに起こり、変数が定義されていないことを怒鳴ります。

$(document).ready()を使用すると機能しますが、それは私にとっては遅すぎます。私は似たようなものが必要ですが、 "強力な"ものは必要ありません.InlineのjsがDOMを終了するのを待たずに終了するのを待っています。

インラインjが終了するのを待つ関数、または少なくとも変数を定義する関数はありますか?

私が考えることができるのは、必要な変数が定義されている場合に定期的に待機するタイマーを使用することだけでしたが、それは明らかに醜い解決策です。

+2

なぜdocument.readyが遅すぎますか? –

+0

インラインjでコールバックを使用することも、jの順序を並べ替えることもできます。しかし、jQueryを使って作業するときに 'ready'ハンドラにコードをラップするのがベストプラクティスです。 – empiric

+0

外部JSでは自分が所有する外部ファイルを意味します。私はインラインJSをお勧めしません。なぜあなたは外部とインラインJSを使用しているのか説明できますか? – Tom

答えて

1

スクリプトタグは単なるタグであり、ドキュメント内の任意の位置に表示されるため、「インラインJavaScriptの準備」のイベントはありません。最後にも。このロード時間依存性を削除するようにコードを再編成

  1. 使用DOM readyイベント
  2. :だから、あなたの2つだけのオプション(本当に1は)にあり、私には思えます。私は考えています:あなたのインラインブロックが十分にの後に外部JSへのリンクを含まないのはですか?
関連する問題