今天遇到一个需求,在A页面上判断B页面是否加载完毕(B页面是第三方页面),加载完毕时隐藏loading动画。。。

而平时我们一般做的事是在B页面上判断B页面是否加载完毕,进行操作。

if(document.readyState == 'Loaded'){
// 我们的操作
//页面加载readyState的五种状态 原文如下:
//0: (Uninitialized) the send( ) method has not yet been invoked.
//0 - (未初始化)还没有调用send()方法
//
//1: (Loading) the send( ) method has been invoked, request in progress.
//1 - (载入)已调用send()方法,正在发送请求
//2: (Loaded) the send( ) method has completed, entire response received.
//2 - (载入完成)send()方法执行完成,已经接收到全部响应内容
//3: (Interactive) the response is being parsed. 4: (Completed) the response has been parsed, is ready for harvesting.
//3 - (交互)正在解析响应内容
//
//4: (Completed) the response has been parsed, is ready for harvesting.
//4 - (完成)响应内容解析完成,可以在客户端调用了
}。

 那么在A页面做B页面(新页面)的加载判断,据我所知,这是做不到(也许是我不知道有其他更高明的方法),随采用了iframe的方式去做。在B页面嵌套在A页面里,就可以做了。
PS:一些框架,如NG,SUI等里面貌似可以做(我没有去尝试,为了一个loading引入一个大框架,血亏啊)。
话不多说,主要代码如下,
完整demo下载地址:https://pan.baidu.com/s/1o8yJLm6(包括了loading)
主要代码:
HTML:
<iframe id="frame" frameborder="0" src="">
</iframe>
JS:
iframe_load: function () {
//兼容IE7-8
    if ($('#frame')[0].attachEvent) {
$('#frame')[0].attachEvent('onload', function () {
$('#frame').show();
$('#loading').hide();
})
} else {
$('#frame')[0].onload = function () {
$('#loading').hide();
$('#frame').show();
}
}
},
CSS:
#frame{
height: 100%;
display: none;
position: fixed;
top: 0;
left: 0;
width: 100%;
} 本身JQ也有load,但是本人没用成功,一直报错,报错JQ的东西。
试过$.load(),但是遇到跨域问题。

												

最新文章

  1. 浅谈javascript面向对象
  2. Vi (Unix及Linux系统下标准的编辑器)VIM (Unix及类Unix系统文本编辑器)
  3. Java数据库操作
  4. Path文件操作实例
  5. HDU 5831 Rikka with Parenthesis II(六花与括号II)
  6. Mysql数据库搭建-Windows
  7. 用django-tinymce搞个富文本编辑器
  8. poj2886Who Gets the Most Candies? (约瑟夫环)
  9. 动态生成修改aspx文件
  10. 开发DZ插件教程
  11. setInterval()-----------js 函数总结
  12. iOS中运用正则表达式
  13. Team City的安装1
  14. ural1126 Magnetic Storms
  15. Android学习之旅(一)
  16. Android版数据结构与算法(七):赫夫曼树
  17. DocX开源WORD操作组件的学习系列四
  18. Python_socket常见的方法、网络编程的安全注意事项、socketsever模块、浏览器中在一段时间记录用户的登录验证机制
  19. 【Vijos】lxhgww的奇思妙想(长链剖分)
  20. 常量(const)和只读变量(readonly)

热门文章

  1. 云虚拟主机开源 DedeCMS 安装指南
  2. BZOJ3752 : Hack
  3. 苹果未来:增强现实设备将会取代iPhone
  4. 简单翻译工具--必应词典第三方api使用方法
  5. [BZOJ4029][HEOI2015] 定价
  6. css基础2
  7. 关于history的Linux命令行
  8. 解决IE(IE6/IE7/IE8)不兼容HTML5标签的方法
  9. 巧妙利用before和after伪类实现文字的展开和收起
  10. js 滚动的文字(走马灯)