jquery中未触发iframe加载事件

jquery中未触发iframe加载事件,jquery,events,iframe,Jquery,Events,Iframe,在我将pdf作为附件下载到iframe后,不会触发加载事件。有什么想法吗 jQuery.download = function(url, data, method, callback){ var inputs = ''; var iframeX; var downloadInterval; if(url && data){ // remove old iframe if has if($("#iframeX")) $

在我将pdf作为附件下载到iframe后,不会触发加载事件。有什么想法吗

jQuery.download = function(url, data, method, callback){
    var inputs = '';
    var iframeX;
    var downloadInterval;
    if(url && data){
        // remove old iframe if has
        if($("#iframeX")) $("#iframeX").remove();
        // creater new iframe
        iframeX= $('<iframe src="[removed]false" name="iframeX" id="iframeX"></iframe>').appendTo('body').hide();


            iframeX.load(function(){
                callback();
            });



        //split params into form inputs
        $.each(data, function(p, val){
            inputs+='<input type="hidden" name="'+ p +'" value="'+ val + '" />';
        });

        //create form to send request
        $('<form action="'+ url +'" method="'+ (method||'post') + '" target="iframeX">'+inputs+'</form>').appendTo('body').submit().remove();
    };
}; 

在您的示例中,我没有看到任何PDF加载代码,但我猜运行在框架中的PDF查看器不是浏览器,因此它不支持标准HTML事件

发布另一个问题,询问您需要实现的目标。那我们也许可以帮忙


[编辑]我的意思是:加载的HTML文档在哪里可以生成HTML事件?你在相框里放了一张PDF;PDF不会生成HTML事件


但解决方案可能是发送两个请求:首先是AJAX请求(在后台运行),然后是
POST
表单。服务器必须保持AJAX请求挂起,直到PDF被发送到客户端,然后,它应该回复AJAX请求。这将为您提供PDF传输时间的指示。但它并不完美。

没有pdf查看器。我提交表单并在响应中得到content type=pdf,这会触发浏览器打开“另存为”框我的意思是:加载的HTML文档在哪里可以生成HTML事件?你在相框里放了一张PDF;PDF不会生成HTML事件。是的,我需要通过会话变量在服务器端的函数之间进行同步,我现在不想这样做。增加了一个10秒的计时器,这样在最坏的情况下,它会在那之后停止。。
var onBlur=function(){
    $('#spinner').html("");
}

    if (/*@cc_on!@*/false) { // check for Internet Explorer
        document.onfocusout = onBlur;
    } else {
        window.onblur = onBlur;
    }