JavaScriptの読み込みをユーザーから隠すことはできますか?

StackOverflow https://stackoverflow.com/questions/1000718

  •  05-07-2019
  •  | 
  •  

質問

PHPを使用して生成され、次に実行するJSを使用して変更されるページがある場合:

window.onload = myFunction;

ユーザーには元のページが表示され、jsコードが実行されてページに独自のビットが追加されると、元のページがフリックして見えるようになります。

ユーザーがこのプロセスを見ることができないようにする方法はありますか? window.onload(画像などのダウンロード中に動作を開始できるもの)よりも、JavaScriptをロードするのに適した方法があるかもしれません。

役に立ちましたか?

解決

最初に、いくつかの要素の可視性を切り替えるボディのクラスを設定することをお勧めします。

<body class="loading"> .... </body>

次に、スクリプトの読み込みが完了したら、このクラスを削除して必要なものをすべて表示できます。 「ロード」も使用できます。 Mozillaのドットの回転する円のような、いくつかの派手な背景を表示するクラス。

また、一部のプロジェクトでは、&quot; onLoad&quot;の代わりに別の方法でスクリプトをロードします。まず、「domReady」という名前のグローバル配列を作成します。

window.domReady = [];

そして、ページのロード時に実行される関数を追加する必要がある場合、この配列にプッシュするだけです:

window.domReady.push( function foo(){ alert('Hey!'); } );

そしてドキュメントの最後の行に、プッシュされたすべてのプロシージャを実行する関数を配置します:

for (procedure in window.domReady) {
    window.domReady[procedure].call();
}

終了タグの前のドキュメントの最終行であるため、DOMの準備ができ、すべての画像がロードされるまで待つ必要はありません。

他のヒント

OK jtreatのこの小さなナゲットを見つけました。

$(document).ready(function() {
  //Call your function here
});
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top