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,一次打印,第二次打开页面,按yes,单击打印2页,第三次单击打印3页。

它意味着每次点击时,jquery 打印插件库都会一次又一次地加载。我们该如何控制呢?

4

3 回答 3

2

没有问题,在你身边。按以下方式编辑 jquery 插件库。

添加以下内容

this.die();

在以下语句之后

$.extend(pluginOptions, options);

这会很好用!

于 2012-06-13T07:48:30.863 回答
0

该插件没有问题,因为它使用实时,您需要将其添加到您的页面代码中,而不是在 ajax 调用中。

当然,也许我(我是作者)不应该为此使用事件委托,这是当时项目的要求,我可能会更改它,以便它使用 on() 将自身绑定到 dom。

至于其他评论,你们没有抓住重点。该插件用于 web 应用程序中的打印按钮,例如,您可以直接打印特殊的数据网格。它在 iframe 中加载 url 并打印它,所以你显然需要你的打印 css。

于 2012-06-13T11:33:13.647 回答
-1

不太确定要打印什么,exception.jsp 或 pages/report.html。可能发生的情况是您定义了太多参数。

通过检查插件,在我看来,您只需将 href 设置为<a>要打印的页面的 url 即可,其他参数只允许您指定 href 以外的其他内容(默认情况下使用) . 因此,尝试从 jquery 调用中删除url和,并将 href 更改为“pages/report.html”(如果这是您要打印的页面)。不确定 exception.jsp 应该做什么。attr<a>

于 2012-06-12T14:14:24.827 回答