jQueryを使用して、ajaxを使用すると、URLをポーリングしてタイムアウトまたは正常に戻るjavascriptプロセスの作業モデルが得られます。 URLはローカルのhttpdを持つ小さな埋め込みボックスによって処理されます。javascript:let's share control
PHPスクリプトで再起動が発生し、1秒待ってからjavascriptコードに入ります。
ajax getを開始する前に、サーバーhttpdが実際にシャットダウンしたことを確認するまで(約90秒)待つ必要があります。そうでなければ、私たちのアンケートはうまくいくでしょう。そして、サーバーが死んだら、私たちのWebページはクラッシュします。
私は数多くのアイデアを試しています。残念ながら、待機はモーダルでなければなりません。タイムアウトするまで何も起こらないはずです。動作すると思われるのは、単純なsleep()抽象化です:
function sleep(milliseconds)
{
var start = new Date().getTime();
for (var i = 0; i < 1e7; i++)
{
if ((new Date().getTime() - start) > milliseconds)
{
break;
}
}
}
i = 0;
var cText='';
for (i = 0; i < 90; i++)
{
sleep(1000);
cText=cText+'.';
$("#waitmessage").html(MakeFlushable(cText));
}
$.ajaxSetup(...
残念ながら、これはブラウザによって異なる動作をします。 30秒後IEがクラッシュします。 Mozilla(8)はapoplecticになり、最終的にajaxが完了すると回復します。
ブラウザに何らかの応答(何かの形で)が必要だと思って、divにドットを書き込もうとしました。 ajaxイベントが完了するまで、ブラウザ出力はありません。次に、各ドットに\ n文字(4000個)の文字を追加しようとしました(MakeFlushable()はこれを行います)。それでも、ajaxが完了するまでは点は表示されません。
昔は、「ビジュアルオブジェクト」と呼ばれる4glがありました。これは、他のハウスキーピングタスクを実行するために「エンジン」に制御を戻す方法を提供しました。おそらくこれがこの場合に必要なことでしょうか? 「すべてのハウスキーピングをしてから、コントロールを返す」というJavaScriptコールがありますか?私の推測では、javascriptがタイトなループで立ち往生しているので、div HTMLがブラウザに送信されないということです...
あなたが代わりのsetTimeoutで(スリープ後に実行するはずのコード)を置くことができませんでしたか? –
@AndreBacklundはい、それは解決策のようです。提案していただきありがとうございます。 –