使用jQuery将页面的一部分复制到剪贴板

使用jQuery将页面的一部分复制到剪贴板,jquery,html,clipboard,Jquery,Html,Clipboard,我有一个用PHP编写的web应用程序,其中有许多HTML格式的报告。有时,我在一个页面上有不同的报告,每个报告都有一个打印按钮 我的一个解决方案是在新页面中使用PHP变量再次生成该报告 但我认为还有另一种方法。我可以将所有报表表HTML代码复制到剪贴板中,打开一个新窗口,将剪贴板数据粘贴到其中,最后打印页面内容。 我在中看到了一些东西,但是这个插件似乎不再工作了 你有没有办法解决我的问题(跨浏览器) 我可以将所有报表表HTML代码复制到剪贴板中,打开一个新窗口,将剪贴板数据粘贴到其中,最后打印页

我有一个用PHP编写的web应用程序,其中有许多HTML格式的报告。有时,我在一个页面上有不同的报告,每个报告都有一个打印按钮

我的一个解决方案是在新页面中使用PHP变量再次生成该报告

但我认为还有另一种方法。我可以将所有报表表HTML代码复制到剪贴板中,打开一个新窗口,将剪贴板数据粘贴到其中,最后打印页面内容。 我在中看到了一些东西,但是这个插件似乎不再工作了

你有没有办法解决我的问题(跨浏览器)

我可以将所有报表表HTML代码复制到剪贴板中,打开一个新窗口,将剪贴板数据粘贴到其中,最后打印页面内容

你不需要剪贴板,即使你可以让它工作,你也不应该使用剪贴板:剪贴板是为了方便用户,而不是你的,覆盖它之前的内容是不合适的

幸运的是,您可以打开一个新窗口并设置其内容,而无需靠近剪贴板:

function printReport(elementId)
{
  var elementToPrint = $("#" + elementId),
      printWin = window.open("", "Print", 'left=20,top=20,width=400,height=400');

  printWin.document.write(elementToPrint.html());
  printWin.document.close();
  printWin.focus();
  printWin.print();
  printWin.close(); // optionally close the new window immediately
}
工作演示(仅在Chrome中测试):

请注意,这显然只是一个简单的解决方案,但它应该为您提供完成自己的解决方案所需的所有部分。您可能需要应用适当的CSS样式表,等等。但最重要的是,一旦打开第二个窗口,您就可以编写任何您想要的内容,然后调用
window.print()
函数

请注意,您应该从事件处理程序(如我的演示中所示的单击按钮)运行上述函数,否则浏览器的弹出窗口阻止程序可能不会让它打开

我可以将所有报表表HTML代码复制到剪贴板中,打开一个新窗口,将剪贴板数据粘贴到其中,最后打印页面内容

你不需要剪贴板,即使你可以让它工作,你也不应该使用剪贴板:剪贴板是为了方便用户,而不是你的,覆盖它之前的内容是不合适的

幸运的是,您可以打开一个新窗口并设置其内容,而无需靠近剪贴板:

function printReport(elementId)
{
  var elementToPrint = $("#" + elementId),
      printWin = window.open("", "Print", 'left=20,top=20,width=400,height=400');

  printWin.document.write(elementToPrint.html());
  printWin.document.close();
  printWin.focus();
  printWin.print();
  printWin.close(); // optionally close the new window immediately
}
工作演示(仅在Chrome中测试):

请注意,这显然只是一个简单的解决方案,但它应该为您提供完成自己的解决方案所需的所有部分。您可能需要应用适当的CSS样式表,等等。但最重要的是,一旦打开第二个窗口,您就可以编写任何您想要的内容,然后调用
window.print()
函数


请注意,您应该从事件处理程序(如我的演示中所示,通过单击按钮)运行上述功能,否则浏览器的弹出窗口阻止程序可能不会打开它。

所以您需要一种方法将内容复制到浏览器内的剪贴板中?是的。复制HTML标记及其内容?nnnnnn,我怎样才能对新页面说我最喜欢的数据是什么?对不起,我删除了以前的评论,因为我决定将其作为答案发布。所以您需要一种方法将内容复制到浏览器内的剪贴板中?是的。复制HTML标记及其内容?nnnnnnnn,我怎样才能对新页面说我最喜欢的数据是什么?对不起,我删除了我以前的评论,因为我决定把它作为一个答案发布。