iframeに添付してpdfをダウンロードした後にロードイベントが発生していません。何か案は?iframeロードイベントがjqueryでトリガーされていません
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();
};
};
は私の答え:
はそう、これは私はこの問題を解決するようになったこれまでの最高のハックですが、それは「名前を付けて保存」ポップアップウィンドウがフォーカスの外にメインウィンドウを作るという事実を使用しています。
var onBlur=function(){
$('#spinner').html("");
}
if (/*@[email protected]*/false) { // check for Internet Explorer
document.onfocusout = onBlur;
} else {
window.onblur = onBlur;
}
pdfビューアはありません。私はフォームを提出し、レスポンスでコンテンツタイプ= pdfを取得すると、ブラウザは "名前を付けて保存"ボックスを開くようになります。 – Ricardo
どういう意味ですか:HTMLドキュメントが読み込まれてHTMLイベントが生成されるのはどこですか?フレームにPDFを挿入します。 PDFはHTMLイベントを生成しません。 –
ええ、私はそれを介してサーバー側で機能間の同期が必要です。私は今儀式をしたくないセッションvars。最悪の場合、それは後に停止するので、10秒のタイマーを追加しました.. – Ricardo