1

JavaScriptを介してページを偽の読み込み状態に保つにはどうすればよいですか?

AJAXリクエストのロードが完了するまで$('body')。hide()に設定したページがあり、その後、ページは$('body')。show()に設定されます。その間(約2秒)、ページは空白のままになり、ブラウザアイコンの読み込みが停止します。その後、コンテンツが表示されるか、別のページにリダイレクトされます(返されたAJAX変数による)。

何もロードされていなくても、ブラウザをロード状態のままにする方法はありますか?まだロード中のようです。

私はすでに次のようなものを作成しようとしました:

while(page_loading())
    var l = 1;

しかし、その後、ブラウザがクラッシュします。この「偽の」状態を強制するにはどうすればよいですか?

編集:

申し訳ありませんが、前に言及するのを忘れました。gifなどを読み込まずに、ブラウザを強制的に読み込み状態にすることなく、通常どおりページを空白のままにしておきます。ブラウザがページを読み込んでいるとき、ブラウザタブに表示され続ける読み込みアイコンまたはステータスバーにメッセージが表示されます。これらの特定の状態はjavascriptで直接変更できないことを知っているので、無限ループのHTMLリクエストなどを使用して、ブラウザをこの読み込み状態に維持する方法があると思いました。「カーソル:待機」を設定しても、ブラウザタブは「終了状態」に変わります。

4

2 に答える 2

1

これを処理する標準的な方法は、表示および非表示の読み込みGIFを作成することです。独自のgifを作成してダウンロードできます。次に、ページの読み込みが開始$("#mygif").show();されたとき:そしてそれが完了したとき、$("#mygif").hide();

于 2013-02-28T18:03:02.093 に答える
1

yourdeveloperfriendが提案するように、読み込み中のアニメーションを使用するのがおそらく道のりです。ただし、次を使用してページの読み込みを概算できcursor: waitます。

html,
body {
    cursor: wait;
    height: 100%;
    width: 100%;
    margin: 0;
    padding: 0;
    background: #555;
    color: white;
    text-align: center;
}

setTimeout(function unwait() {
    document.body.style.cursor = 'default';
    document.body.innerHTML = 'Loaded.';
}, 3000);

http://jsfiddle.net/8cxA7/

明らかに、これは単なるデモです。私の意見では、タブファビコンはそのままにしておく必要があります。一部のブラウザは、最初に表示したものをキャッシュして、大切な人生のためにそのファビコンを保持するからです。

于 2013-02-28T18:06:17.190 に答える