作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我遇到一个问题,我正在动态创建 iframe(因此没有 URL),并在该框架上执行打印。我第一次点击打印(在 ff 中)时,它没有显示图像,因为它们尚未加载。是否可以使用 jQuery 或 vanilla JS 强制打印等待 iframe 加载其中的所有图像?我的相关代码如下所示:
render: function (data, $el) {
var index = $('a.myframe').index($el);
$el.attr('data-print-frame', 'print-frame-' + index);
this.populateTemplate(data, index);
this.printData('print-frame-' + index, index);
return this;
},
populateTemplate: function(data, index) {
if(!$('iframe[name=print-frame-' + index + ']').length) {
var iframehtml = '';
var iframe = $('<iframe class="print-frame" name="print-frame-' + index + '" />');
$('#content-area').append(iframe);
var $stylesheets = $('*[rel=stylesheet]').clone();
var inlineStyles = '';
$stylesheets.each(function(i,e) {
$stylesheets[i].href = $stylesheets[i].href;
$stylesheets[i].href = $stylesheets[i].href.replace('debug=true', 'debug=false');
$.ajax({
url: $stylesheets[i].href,
dataType: 'text',
async: false,
success: function(styledata) {
inlineStyles += styledata;
}
});
});
iframehtml = '<div class="print"><div id="wrapper">' + this.template(data) + '</div></div>';
iframe[0].contentDocument.head.innerHTML = '<style type="text/css">' + inlineStyles + '</style>';
iframe[0].contentDocument.body.innerHTML = iframehtml;
}
},
printData: function(printId) {
//this is the part that is not working
$('iframe[name="' + printId + '"]').load(function() {
window.frames[printId].focus();
window.frames[printId].print();
});
//this is the part that is not working
}
所以附加的 HTML 中包含我需要在第一次单击 iframe 时显示的图像。谢谢!
最佳答案
请尝试使用框架文档 onready 事件。
printData: function(printId) {
$(window.frames[printId].document).ready(function() {
window.frames[printId].focus();
window.frames[printId].print();
});
}
关于javascript - 在动态 iframe 中加载图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23412388/
我正在开发一个需要能够平均三个数字的 Facebook 应用程序。但是,它总是返回 0 作为答案。这是我的代码: $y = 100; $n = 250; $m = 300; $number = ($y
我只是无法弄清楚这一点,也找不到任何对我来说有意义的类似问题。我的问题:我从数据库中提取记录,并在我的网页上以每个面板 12 条的倍数显示它们。因此,我需要知道有多少个面板可以使用 JavaScrip
我是一名优秀的程序员,十分优秀!