我正在研究打印IFrame的Opera解决方法。现在我们都知道打印Iframe的唯一方法就是在新窗口中打开它并打印出来。我面临的问题是,当我的IFrame在新窗口中打开时,会触发一系列ajax调用,并且在所有ajax调用完成时打开打印窗口。我搜索了一下,发现了全局回调事件ajaxComplete。我有我的代码是这样的:AjaxComplete不能正常工作
if($.browser.opera){
var href = $("iframe:visible")[0].contentWindow.location.href;
var printWindow = window.open(href, "printWindow", "scrollbars=yes");
printWindow.onload = function(){
$(this.document.getElementsByClassName("f-buttons")).hide();
$(this.document.getElementsByClassName("f-progress")).hide();
}
$(printWindow.document.body).ajaxComplete(function(event, xhr, settings){
printWindow.print();
});
$(printWindow).ajaxComplete(function(event, xhr, settings){
printWindow.print();
});
}
我不知道为什么事件是没有得到一开始我还试图在该文件触发的ajaxComplete的文件表明,它应该只被附加到文件,但一些人们在这里建议它可以附着在身体上,所以我也尝试过在身体上,但它没有得到初始化。任何人都可以告诉我我错过了什么?
你的问题是document.body它执行该页面上的所有ajax。 –
@ Mr.G - 对不起,我没有得到你。 – Sourabh