我正在研究打印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