Tho*_*asD 3 javascript iframe jquery
我正在使用此处找到的代码:检测浏览器打印事件来检测用户是否想要打印页面。到目前为止,它按预期工作。
在“afterPrint”函数中,我调用一个函数,该函数创建并附加一个 iframe,其中包含另一个页面,该页面具有不同的、对需要打印的内容更加打印友好的布局:
function printIframe (printsrc) {
var iframe = $('iframe#print');
if (iframe.length == 0)
iframe = $('<iframe id="print" />').attr('src', printsrc).css("width", "0px").css("height", "0px").css("position", "absolute").css("left", "-9999px").appendTo($("body:first"));
else
iframe.attr('src', printsrc);
};
Run Code Online (Sandbox Code Playgroud)
在更适合打印的页面上,我创建布局,然后调用:
window.print();
通过创建和附加 iframe,用户可以停留在浏览器中的页面上,但打印布局有所不同。
加载打印机友好页面的唯一方法似乎是取消打印对话框中的打印,然后触发 afterPrint 功能。是否有可能在 javascript 中取消用户的打印对话框?
谢谢,
托马斯
不,无法使用 Javascript 取消打印事件。
阅读此内容:[MDN,印前 -可取消:否]
另请参阅小提琴:
var beforePrint = function() {
console.log('Functionality to run before printing.');
alert('cancelable : '+event.cancelable)
};
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5084 次 |
| 最近记录: |