我有一个文档在jQuery模式框中的网站上弹出。该文档的最后打印按钮只是在弹出框中打印文档。错误通过iframe打印 - 使用Ctrl + P时出现'未定义'错误
我想通过Ctrl + P仅在iframe中打印文档。这需要防止打印包括背景在内的所有页面的默认行为。
这是jQuery代码为印刷:
$(document).keydown(function(event) {
if (((event.ctrlKey == true) || (event.metaKey == true)) && (event.which == '80')) {
event.preventDefault();
printAssessment();
}
});
function printAssessment() {
if ($('#frameContainer').length) {
$('#lightboxFrame')[0].contentWindow.print();
}
}
我使用iframe页面的HTML低于:
<div id="frameContainer">
<iframe id="lightboxFrame" width="950px" scrolling="auto" height="500px">
<!DOCTYPE html>
<html>
<head>
<body> (Whole Document in a Div) </body>
...
现在的问题是,当我打开我的模态然后按下Ctrl + P,如果我不按照我希望的方式滚动模式,它会打印出来。但是,如果我滚动模式,然后按Ctrl + P,它给了我下面的错误:
Uncaught TypeError: Cannot read property 'contentWindow' of undefined
奇怪的是,即使当iframe是开放的,但它仍然认为它不确定的,但只有当我滚动模式iframe中。如果我只是打开模式并按Ctrl + P,它打印罚款。
事件与'contentWindow'有什么关系? – RoToRa 2013-05-07 12:17:22