【问题标题】:Html generate data and print from another pageHtml 生成数据并从另一个页面打印
【发布时间】:2011-02-04 11:40:08
【问题描述】:

在下面的代码中,

在a.html中有这段代码,

         <div id="tableview"></div>//Data loaded dynamically

         <input type="button" id="printbtn" onclick="print()"/>             
         <script>
         function print()
         {
            var data=$('#tableview').html();
            dataobj.print();
          }

在 b.html 中

我需要打印a.html而不打开它,但是不打开它如何生成div中的数据以及如何仅从b.html打印这些数据

谢谢..

【问题讨论】:

    标签: javascript jquery html css jquery-selectors


    【解决方案1】:
    1. 对 b.htm 进行 Ajax 调用

    2. 获取你想要的div的内容。

    3. 将数据返回到a.htm中的隐藏div中

    4. 制作一个打印样式表,所有内容都隐藏在该视图中,并且只有之前隐藏的 div 可见。

    5. 调用您的打印函数

    【讨论】:

      【解决方案2】:

      我认为您可以向 b.html 发出 ajax 请求以获取内容然后打印。

      function contentprint()
      {
      $.ajax({
                 url : "b.html",
                 success : function (data) {
                 var data1=data;
                 data1.print();
      }
      });
      }
      

      HTH

      【讨论】:

      • 是的,这是正确的。只是 url 位应该是“b.htm#mycontent”
      【解决方案3】:

      更新:此答案假设根据您的问题不应发生回发。 (没有 Ajax)

      如果每个页面只有一个打印视图,您可以在页面上应用 media=print 过滤器。最初加载两个视图,并且只在屏幕上显示屏幕视图。

      <Style href="print.css" media="print" />
      

      您可以将所有屏幕显示设置为隐藏并显示可打印视图:

       * {
          visibility: hidden;
        }
      
        #tableview * {
          visibility: visible;
        }
      

      【讨论】:

      • IMO,这是正确的做法。没有理由再次获取页面;这正是打印样式表的用途!
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-03-07
      • 1970-01-01
      • 2017-10-06
      • 1970-01-01
      • 2021-06-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多