当子窗口打开并完成加载时得到通知
Get notified when child window is open and finished loading
当子窗口打开时,检查其内容是否全部从服务器接收并完全加载的方法是什么?
我正在做的是显示一个ajax通知程序.gif,因为这个窗口.open大约需要15秒,我需要给用户一些东西来查看。
这是我尝试过的一种方法,但ajax加载程序通知程序在窗口打开后立即关闭,这是意料之中的事,但我这样做是为了举例。
AlumCloud.showAjaxLoader();
if (window.open(['/api/rollup?f=', getResponseFormatOpt(), '&ids=', options.ids.join(','), '&lbls=', options.addLbls].join(''), '_blank',
'width=' + WIN_OPEN_WIDTH + ',height=' + WIN_OPEN_HEIGHT, false)) {
AlumCloud.removeAjaxLoader();
};
当窗口打开并完全加载了它的内容时,如果有一个回调,那就太好了。
但是,如果有另一个间隔,我可以设置一个间隔来检查窗口是否加载。
这是一个让我非常接近但不起作用的东西。
var url = ['/api/rollup?f=', getResponseFormatOpt(), '&ids=', options.ids.join(','), '&lbls=', options.addLbls].join('');
$.ajax({
url: url,
cache: true,
complete: function (jqXHR, textStatus) {
var w = window.open("", '_blank', 'width=' + WIN_OPEN_WIDTH + ',height=' + WIN_OPEN_HEIGHT, false);
w.document.body.appendChild($('<iframe src="' + url + '" width="100%" height="100%" >').get(0));
}
});
如果我将该iframe附加到当前窗口,它会起作用,但如果我试图将该ifame附加到我打开的新窗口,它就不起作用
这就是你可以做到的。
JS
$.ajax({
url: "YourajaxcallURL",
data: "DataIfany",
beforeSend: function () {
// this is where we append a loading image
$('#ajax-panel').html('<div class="loading"><img src="loading.gif" alt="Loading..." /></div>');
},
success: function (data) {
$('#ajax-panel').empty();
},
error: function (data) {
$('#ajax-panel').empty();
}
});
并将其添加到HTML:中
<div id="ajax-panel"> </div>
CSS:
#ajax-panel {
position: absolute;
}
相关文章:
- angularJS,一个部分或模态通知,加载几秒钟后就会消失
- 当子窗口打开并完成加载时得到通知
- javascript检查加载的URL并发出通知
- 在Phonegap中加载通知
- 通知系统,每次重新加载时都会在回调时触发 Firebase
- 将 jQuery 加载到 iframe 中,并在加载时收到通知
- 如何在加载下一页时保持 toastr.js 通知打开状态
- JQuery-在加载时触发通知,而不是onClick
- facebook评论加载通知
- 如何用JavaScript在加载视图中删除所有Chrome通知
- 当AngularJS应用被加载时得到通知
- JQuery加载,通知调用窗口
- 无法加载数据URL为chrome浏览器的GCM推送通知'notificationclick'事件
- 如何通知绑定处理程序内容已完全加载
- javascript通知当脚本在IE中动态加载时
- D3.js -在AJAX请求期间添加加载通知
- 正在收到有关iframe加载的通知
- 我必须重新加载chrome扩展以显示通知
- Chrome 的预提取功能会重新加载桌面设备通知
- Jquery在页面加载时获取桌面通知