【发布时间】:2018-01-18 22:58:26
【问题描述】:
我需要使用 javascript 和 iframe 动态打印一些文件。文件列表是 AJAX 调用的响应。我无法避免出现此错误:
_SecurityError: Permission denied to access property "document" on cross-origin object_
来自浏览器。这是我的代码的一部分:
$('.js-print_box').html('<iframe class="js-print_frame" name="iprint" src="print?' + params.join('&') + '" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" width="0" height="0"></iframe>');
$('.js-print_box').append(data.preplanFilesContent);
var iframeEls = document.querySelectorAll('.js-print_frame');
if (iframeEls) {
for (i = 0; i < iframeEls.length; i++) {
iframeEl = iframeEls[i];
$(iframeEl).load(function() {
var result = iframeEl.contentWindow.document.execCommand('print', false, null);
if (!result) {
iframeEl.contentWindow.print();
}
});
}
}
【问题讨论】:
标签: javascript iframe printing