2

これは ColdFusion 8 に関する質問です。

onClick がページ ヘッダーにある次の Javascript 関数を呼び出すボタンがある cfm ページがあります。

function confirm_expiration_letters() {
    var resultOfConfirm = confirm("Would you like to send expiration and reminder letters?");
    if (resultOfConfirm == true) {
        document.body.style.cursor = "wait";
        window.location="_expiration_letters.cfm";
    }
}

呼び出されたページで、一連の電子メールが生成され、次に PDF レポート ファイルが生成され、次の 2 行を使用して表示されます。

<cfheader name="Content-disposition" value="attachment;filename=#fileName#">
<cfcontent type="application/pdf" file="#docPath#/#fileName#" deletefile="true">

JS 関数で、カーソルが「wait」に変更されていることに注意してください。しかし、上記の cfheader 呼び出しの後、プログラム コントロールが失われたように見えるため、カーソルをリセットできる場所が見つかりません。

カーソルアニメーションをオフにするためにこれをどこに配置できるかについてのアイデアはありますか? 複数の場所を試しましたが、うまくいきません。cfheader と cfcontent の呼び出しが発生すると、前のウィンドウとカーソルの制御が失われ、表示されます。

4

3 に答える 3

0

You might try something like this above the cfheader.

<script>
document.body.style.cursor = "default";
</script>
<cfflush/>

The problem is that doing so might (probably will) screw up the cfheaders since cfflush is designed to flush partial results and will include the headers. But it's the only thing I can think of.

于 2012-05-15T16:09:21.217 に答える
0

カーソルを変更する代わりに、HTML/アニメーション gif を使用して読み込みメッセージを表示します。PDF が読み込まれると、読み込み画面が置き換えられます。

読み込みメッセージを含む非表示の div を作成し、必要に応じて JavaScript を使用して表示することをお勧めします。

ここにいくつかの JavaScript があります。これは、jQuery で行う方法です。

function confirm_expiration_letters() {
var resultOfConfirm = confirm("Would you like to send expiration and reminder letters?");
if (resultOfConfirm == true) {
    $('#Loading').fadeIn(); //SHOW THE LOADING INDICATOR
    $.post('PDFGenerator.cfm', function(returnData){  // AJAX POST, CALLBACK
        //RETURN THE FILENAME OR LOCATION OF THE PDF
        var FileName = $.trim(returnData); // TRIM THE RETURNED DATA
        window.open("path_to_file/" + FileName,"_blank"); // NEW WINDOW
        $('#Loading').fadeOut();  // HIDE THE LOADING INDICATOR
      });
}

}

于 2012-05-15T17:23:52.773 に答える
0

私があなたを正しく理解していれば、PDFの準備中に「待機」カーソルを持ち、その後標準カーソルに戻る必要があります。

要求されたドキュメントを待っているときに、Web ブラウザは自動的にこれを行いませんか? IE: window.location を実行するとすぐに、ドキュメントの読み込み中にカーソルが自動的に「待機」に変わり、ドキュメントが提供されると「自動」に戻ります。

これは私が見ているものです(あなたのものに似たコードを実行したとき)。これはあなたが見ているものではありませんか?

于 2012-05-16T07:33:31.667 に答える