過去 2 日間、Google 検索を行っていましたが、必要なものが見つかりませんでした。
クライアントが一括SMSを送信できるようにするPHPでSMSmobileツールを開発していますSend. 2〜5分から。その間、クライアントがブラウザRefreshボタンまたは同じページの他のボタンを押すと、送信プロセスが破棄されます。
Sendingプロセスが終了するまでユーザーがアクションを実行できないようにするポップアップ プログレス バーを表示する必要があります。
何か提案はありますか?
過去 2 日間、Google 検索を行っていましたが、必要なものが見つかりませんでした。
クライアントが一括SMSを送信できるようにするPHPでSMSmobileツールを開発していますSend. 2〜5分から。その間、クライアントがブラウザRefreshボタンまたは同じページの他のボタンを押すと、送信プロセスが破棄されます。
Sendingプロセスが終了するまでユーザーがアクションを実行できないようにするポップアップ プログレス バーを表示する必要があります。
何か提案はありますか?
ファイルロックであっても、何らかのロックを使用してください。次に、ajax を使用して X 秒ごとにポーリングし、ジョブが終了したかどうかを確認します。
function send() {
if ( file_exists('/tmp/' . $session_key . '.lck' ) ) return;
touch ( '/tmp/' . $session_key . '.lck' );
# do the actual job
# ...
unlink( '/tmp/' . $session_key . '.lck' );
}
私の解決策は、バックグラウンドで実行されているスクリプト (cron ジョブ) であり、そこに立っているだけで一種のキュー リスト (SQL テーブル) を読み取り、表示されるすべての新しいエントリを処理します。
おそらく、行をカウントしてフロントエンドに返すだけの背後にある何かを呼び出す小さなクライアント側スクリプトです。
これを試して:
function checkRefresh()
{
if( document.refreshForm.visited.value == "" )
{
document.refreshForm.visited.value = "1";
}
else
{
document.write ('
$(function2() {
// a workaround for a flaw in the demo system (http://dev.jqueryui.com/ticket/4375), ignore!
$( "#dialog:ui-dialog" ).dialog( "destroy" );
$( "#dialog-modal" ).dialog({
height: 140,
modal: true
});
});
$(function() {
$( "#progressbar" ).progressbar({
value: 59
});
});
')
}
}
jQueryがあることを確認してください!
マークアップ:
<div class="demo">
<div id="dialog-modal" title="Basic modal dialog">
<div id="progressbar"></div>
</div>
</div>
次に、 body タグを次のように置き換えます。
<body onLoad="JavaScript:checkRefresh();">
これを HTML に追加します。
<form name="refreshForm">
<input type="hidden" name="visited" value="" />
</form>
とにかく、これはリロードを検出し、ロードバーを実行します。これにより、リロードが防止されます(うまくいけば)
ページでこれを行うことに設定している場合は、モーダル ダイアログとアニメーション化されたプログレス バーを組み合わせることをお勧めします。
プログレス バーで計算を行う必要さえありません。100% に設定するだけで、スクロールしているように見え、「メッセージは処理中です」などのテキストを追加できます。
あなたの問題は単なるものloading barではありませんlot of things are wrong with your application architecture
質問 ? Even if the person does not click refresh and there is a connection issue what happens
クイックソリューション
取るSMS information
に保管Database
後で使用する送信cron JOB
より良い解決策
使用するMessaging Queue
ユーザーの電話に読み込みバーを表示する必要はありません....Message Sentより良いオプションになります
ありがとう
:)