单击时在新窗口中打印图像的最简单方法是什么?

Joe*_*ier 4 javascript browser printing url popupwindow

我正在尝试为图像创建一个简单的单击打印链接,我想要发生的是当单击链接时,将打开一个带有图像的新窗口,浏览器将打开打印命令对话框.

我的问题是,这是可以从URL参数,还是从发起页面上的锚元素?或者我是否必须使用javascript构建目标页面才能执行此操作?

这是我得到的样本:

<p class="click-2-print">
  <a href="/img/map.jpg" target="_blank">Click here to print the map above</a>
</p>
Run Code Online (Sandbox Code Playgroud)

显然,上面的代码将在新窗口中打开图像,但仍然需要用户按Ctrl + P,Cmd + P或使用浏览器命令.当用户点击链接时,我的客户希望图像"只是打印",所以我试图找到完成此操作的最简单方法.

那么有什么参数或属性我可以添加到上面的标记来完成我所描述的内容吗?

Cod*_*ney 10

你必须调用window.print().也许是这样的?

function printimage(){
    var URL = "http://myimage.jpg";

    var W = window.open(URL);

    W.window.print();
}
Run Code Online (Sandbox Code Playgroud)

另一种选择可能是将图像放在一个页面上,告诉浏览器在加载时打印.例如...

<body onload="window.print();">
<img src="/img/map.jpg">
</body>
Run Code Online (Sandbox Code Playgroud)


Rob*_*ond 1

您必须在 javascript 中调用window.print()来触发浏览器打印对话框。我非常确定,除非您运行签名的小程序,否则您无法在没有用户交互的情况下触发打印。