!
也想出现在这里? 联系我们
广告位

为iFrame添加动态载入提示优化用户体验

平常开发网站避免不了使用 iFrame 框架,但是当网络环境不好时 iFrame 内容一直都是直勾勾的加载,并且未加载完成之前还会强行占据一大片空白区域,体验很不友好!昨天在制作展示导航 WordPress 插件时,把这个问题也一并处理了,其中涉及到了这个 iFrame 动态载入效果,现在记录一下,顺便分享。

完整代码

  1. <div style="float: left;width: 205px;font-size: 13px !important;line-height: 20px;" id="loading">
  2. <img style="floa: left;height: 20px;width: 20px;" src="/loading.gif" />
  3. 联盟导航加载中,请稍后...
  4. </div>
  5. <iframe id="zgboke" onreadystatechange=stateChangeIE(this) onload=stateChangeFirefox(this) style="visibility: hidden;padding: 0px; width: 100%; height="0" src="http://zgboke.com/hutui.HTML" frameborder="no" border="0" marginwidth="0" marginheight="0" scrolling="no"></iframe>
  6. <script language="javascript">
  7. function stateChangeIE(_frame)
  8. {
  9. if (_frame.readyState=="interactive")
  10. {
  11. var loader = document.getElementById("loading");
  12. loader.innerHTML = "";
  13. loader.style.display = "none";
  14. _frame.style.visibility = "visible";
  15. }
  16. }
  17. function stateChangeFirefox(_frame)
  18. {
  19. var loader = document.getElementById("loading");
  20. var f= document.getElementById("zgboke");
  21. f.height="512";
  22. loader.innerHTML = "";
  23. loader.style.display = "none";
  24. _frame.style.visibility = "visible";
  25. }
  26. </script>

以下是依葫芦画瓢的方法:

①、在 iframe 代码之前先插入一个 div 用于 iframe 载入前的显示,除了 id 需要一一对应,其他自行发挥即可。

②、将 iframe 的高度设为 0,并在原有 iframe 的基础上插入加载前和加载后的函数调用

  1. onreadystatechange=stateChangeIE(this)
  2. onload=stateChangeFirefox(this)

③、如代码的 8~28 行新增 2 个 js 函数即可,注意上下元素 ID 需要一 一对应;

④、其中 22 和 23 行禁止 iframe 未加载完成的空白占位,只有加载完成之后,才会将 iframe 的高度还原为 512。
Ps:代码涉及的元素 ID 对应及 CSS 调节,请自行搞定,就不赘述了。

给TA打赏
共{{data.count}}人
人已打赏
WordPress教程

网站集成打字震动特效JS代码改进版

2024-3-1 9:35:58

WordPress教程

WordPress新用户注册添加验证问题

2024-3-1 9:36:03

下载说明

  • 1、微码盒所提供的压缩包若无特别说明,解压密码均为weimahe.com
  • 2、下载后文件若为压缩包格式,请安装7Z软件或者其它压缩软件进行解压;
  • 3、文件比较大的时候,建议使用下载工具进行下载,浏览器下载有时候会自动中断,导致下载错误;
  • 4、资源可能会由于内容问题被和谐,导致下载链接不可用,遇到此问题,请到文章页面进行反馈,以便微码盒及时进行更新;
  • 5、其他下载问题请自行搜索教程,这里不一一讲解。

站长声明

本站大部分下载资源收集于网络,只做学习和交流使用,版权归原作者所有;若为付费资源,请在下载后24小时之内自觉删除;若作商业用途,请到原网站购买;由于未及时购买和付费发生的侵权行为,与本站无关。本站发布的内容若侵犯到您的权益,请联系本站删除,我们将及时处理!
0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索