1

jquery 印刷プラグインを使用しています

    $(document).ready(function() {
            
            $(".printButton").printPage({
                url: "pages/report.html",
                attr: "href",
                message:"Your document is being generated"
            });

        });

上記のスクリプトを含む Jsp ページ

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>JSP Page</title>

   <script>
       
       $(document).ready(function() {
            
            $(".printButton").printPage({
                url: "pages/report.html",
                attr: "href",
                message:"Your document is being generated"
            });

        });
    </script>

</head>
<body>
    <h1>Press Yes to Print </h1>
    <p><a class="printButton" href='exception.jsp'>Yes</a></p>
</body>
</html>

初めてページを開いて yes を押すと、1 回で印刷され、2 回目にページを開くと、yes を押すと 1 回のクリックで 2 ページが印刷され、3 回目は 1 回のクリックで 3 ページが印刷されます。

その手段は、クリックするたびに、jquery 印刷プラグインライブラリが何度も読み込まれます。どうすればこれを制御できますか?

4

3 に答える 3

2

あなたの側で問題ありません。jquery プラグイン ライブラリを次のように編集します。

以下を追加

this.die();

次の発言の後に

$.extend(pluginOptions, options);

これはうまくいきます!

于 2012-06-13T07:48:30.863 に答える
0

プラグインは問題ありません。ライブを使用するため、ajax 呼び出しではなく、ページ コードに追加する必要があります。

確かに、私 (私は作成者です) はそのためにイベント委譲を使用すべきではありませんでした。それは当時のプロジェクトの要件でした。おそらく変更して、on() で dom にバインドするようにします。

他のコメントに関しては、皆さんは要点を逃しています。このプラグインは印刷ボタンの Web アプリケーションで使用されるため、たとえば、特別なデータグリッドを直接印刷できます。URLをiframeにロードして印刷するため、明らかに印刷CSSが必要です。

于 2012-06-13T11:33:13.647 に答える
-1

何を印刷したいか、exception.jsp か pages/report.html かよくわかりません。発生している可能性があるのは、あまりにも多くのパラメーターを定義しているということです。

<a>プラグインを確認すると、印刷したいページの URL にhref を設定するだけでよいように思えます。その他のパラメーターを使用すると、href 以外のものを指定できます (デフォルトで使用されます)。 . したがって、jquery 呼び出しからと を削除urlしてみて、hrefを 'pages/report.html' に変更してください (それが印刷するページの場合)。exception.jsp が何をすべきかわからない。attr<a>

于 2012-06-12T14:14:24.827 に答える