我想在我的网站上使用“打印”按钮来打印带有Google云打印的文档,但我希望目标的“网址” - PDF文件 - 在按钮被删除后动态更改点击(特别是根据AJAX调用返回的内容)。
GCP Web Element(GCPWE)似乎有类似的功能,但不是我想要的。特别是,似乎只能在单击按钮之前更改“目标”(通过调用setPrintDocument
)。
单击按钮后,有没有办法指定GCPWE的URL?
以下是GCPWE网站的示例代码:
<div id="print_button_container"> </div>
<script src="http://www.google.com/cloudprint/client/cpgadget.js">
</script>
<script defer="defer">
var gadget = new cloudprint.Gadget();
gadget.setPrintButton(
cloudprint.Gadget.createDefaultPrintButton("print_button_container"));
gadget.setPrintDocument("url", "[document title]", "[document URL]");
</script>
我已经考虑过隐藏<div id='print_button_container'>
并在点击可见的打印按钮后触发.click
事件,但这似乎相当不优雅&amp;不当。我查看了上面链接的gpwidget.js
,但代码已经被最小化并且无法理解(无论如何)。
我似乎想要的是一个Javascript print
函数,您将[文档URL]和[文档标题]传递给。
是否有更好的方法来实现所需的功能,而不是“点击隐藏的按钮”我想出了什么?
感谢您的阅读。
答案 0 :(得分:3)
您可以随时打开打印对话框,只需打电话:
gadget.openPrintDialog()
这将打开打印机对话框。 因此,对于您的情况,您可能希望使用静态方法创建打印按钮:
cloudprint.Gadget.createDefaultPrintButton("print_button_container");
然后为按钮附加自定义处理程序,无论何时准备好,只需致电:
var gadget = new cloudprint.Gadget();
gadget.setPrintDocument(...);
gadget.openPrintDialog();
答案 1 :(得分:2)
即使在打开打印对话框后,您也可以随时调用方法gadget.setPrintDocument()。