2016-02-11 44 views
0

我有一个HTML页面链接, 如何在JavaScript中打印页面? 我尝试做:如何通过js中的链接打印HTML页面?

var printContent = url; 
var windowUrl = 'about:blank'; 
var uniqueName = new Date(); 
var windowName = 'Print' + uniqueName.getTime(); 
var printWindow = window.open("", "_blank"); 

printWindow.document.write(printContent); 
printWindow.focus(); 
printWindow.print(); 
printWindow.close(); 

window.open(location); 

但它打印网址,而不是网页。 我能做什么?请帮忙! 谢谢!

+0

我想你需要一些时间来页面加载,然后打印电话。 Justa猜想可能会试一试 – joyBlanks

+0

不是空白的窗口内容会在稍后提供'printWindow.document.write(printContent);'@BhojendraNepal – joyBlanks

+0

您需要使用XHR请求链接,等待响应,然后将其打印为HTML – MysterX

回答

1

试试这个。删除打开新窗口的行。我在下面的代码中进行了评论。你需要为此查询jquery。

$(document).ready(function() { 
      $.get('http://example.com', function(data) {     
       var printContent = data; 
       var windowUrl = 'about:blank'; 
        var uniqueName = new Date(); 
        var windowName = 'Print' + uniqueName.getTime(); 
        var printWindow = window.open("", "_blank"); 

        printWindow.document.write(printContent); 
        printWindow.focus(); 
        printWindow.print(); 
        printWindow.close(); 

        //window.open(location); 
        return; 

      }); 
     }); 
+0

谢谢!但他给我的空白页:(,我必须写而不是'http://example.com'?我的网址? – Nom

+0

你的网页有什么内容。这个页面是否有权限读取数据? – PHPExpert

+0

关于你的网址,如果它来自同一个域,那么它可能会工作(不确定),但如果它来自另一个域,那么你会得到跨域拦截的错误。所以要确保你将使用的任何URL,它有数据,并且也可以访问 – PHPExpert