And*_*ock 50 javascript printing iframe webkit
有人可以通过Safari/Chrome中的javascript调用帮助我打印IFrame的内容.
这适用于Firefox:
$('#' + id)[0].focus();
$('#' + id)[0].contentWindow.print();
Run Code Online (Sandbox Code Playgroud)
这适用于IE:
window.frames[id].focus();
window.frames[id].print();
Run Code Online (Sandbox Code Playgroud)
但我无法在Safari/Chrome中使用任何功能.
谢谢
安德鲁
And*_*ock 48
这是我完整的跨浏览器解决方案:
在iframe页面中:
function printPage() { print(); }
Run Code Online (Sandbox Code Playgroud)
在主页面中
function printIframe(id)
{
var iframe = document.frames
? document.frames[id]
: document.getElementById(id);
var ifWin = iframe.contentWindow || iframe;
iframe.focus();
ifWin.printPage();
return false;
}
Run Code Online (Sandbox Code Playgroud)
更新:自从我遇到这个问题以来,许多人似乎在发布的IE版本中遇到了问题.我现在没有时间重新调查,如果你卡住我建议你阅读这整个帖子中的所有评论!
Dio*_*ane 42
将打印功能放在iframe中并从父级调用它.
IFRAME:
function printMe() {
window.print()
}
Run Code Online (Sandbox Code Playgroud)
父:
document.frame1.printMe()
Run Code Online (Sandbox Code Playgroud)
M.W*_*ker 32
我使用了Andrew的脚本,但在调用printPage()函数之前添加了一个部分.iframe需要焦点,否则它仍将在IE中打印父帧.
function printIframe(id)
{
var iframe = document.frames ? document.frames[id] : document.getElementById(id);
var ifWin = iframe.contentWindow || iframe;
iframe.focus();
ifWin.printPage();
return false;
}
Run Code Online (Sandbox Code Playgroud)
不要感谢我,是安德鲁写的.我刚做了一个tweak = P.
除了Andrew和Max的解决方案之外,使用iframe.focus()导致打印父框架而不是在IE8中仅打印子iframe.更改该行修复它:
function printIframe(id)
{
var iframe = document.frames ? document.frames[id] : document.getElementById(id);
var ifWin = iframe.contentWindow || iframe;
ifWin.focus();
ifWin.printPage();
return false;
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
128581 次 |
最近记录: |