1

過去 2 日間、Google 検索を行っていましたが、必要なものが見つかりませんでした。

クライアントが一括SMSを送信できるようにするPHPでSMSmobileツールを開発していますSend. 2〜5分から。その間、クライアントがブラウザRefreshボタンまたは同じページの他のボタンを押すと、送信プロセスが破棄されます。

Sendingプロセスが終了するまでユーザーがアクションを実行できないようにするポップアップ プログレス バーを表示する必要があります。

何か提案はありますか?

4

5 に答える 5

2

ファイルロックであっても、何らかのロックを使用してください。次に、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' );
}
于 2012-04-06T13:23:36.923 に答える
1

私の解決策は、バックグラウンドで実行されているスクリプト (cron ジョブ) であり、そこに立っているだけで一種のキュー リスト (SQL テーブル) を読み取り、表示されるすべての新しいエントリを処理します。

おそらく、行をカウントしてフロントエンドに返すだけの背後にある何かを呼び出す小さなクライアント側スクリプトです。

于 2012-04-06T13:29:21.587 に答える
0

これを試して:

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>

とにかく、これはリロードを検出し、ロードバーを実行します。これにより、リロードが防止されます(うまくいけば)

于 2012-04-06T13:23:45.893 に答える
0

ページでこれを行うことに設定している場合は、モーダル ダイアログアニメーション化されたプログレス バーを組み合わせることをお勧めします。

プログレス バーで計算を行う必要さえありません。100% に設定するだけで、スクロールしているように見え、「メッセージは処理中です」などのテキストを追加できます。

于 2012-04-06T13:24:55.220 に答える
0

あなたの問題は単なるもの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より良いオプションになります

ありがとう

:)

于 2012-04-06T13:29:45.627 に答える