JS判断SWF,JPG加载完毕、兼容(Activex,plugIn)所有浏览器

这里主要说下监听SWF的加载。

网上流传已久的监听方法,只能在IE(Activex插件下)下实现。在使用plugin的浏览器下无法监听。

首先贴张 chrome下载图

这里提供一个可以监听所有浏览器的方式:

原作者在这里:http://blog.sebastian-martens.de/2010/05/preload-assets-with-javascript-load-complete-callback-for-single-assets-include-swfflash/

我修改后方便阅读使用的使用的版本:(20140718更新了以下失效链接)

http://pan.baidu.com/s/1sjLhJIH

注意我加载的SWF在我的空间,跨域以及本地都无法调用。请自行修改HTML中加载SWF的路径,并不要使用 file://来访问。

你可以在我的网站查看效果

http://luoee.com/lab/jsloadswf/  本人小站暂时关闭

原理说明:

看了下作者的文件简单来说:还是使用了JS与一个loader的swf来完成监听的。

通过JS将要加载的文件地址传输给这个事先制作好的loader,通过这个swf来加载文件,同时监听加载完成时,调用JS来抛出事件。

这个demo不会显示出swf,只是用来监听使用。如果你的网站有很多swf(小游戏网站),那么你可以这样来实现:

1 制作一个loading等待的图片(可以是广告图等)

2 等到监听到加载完毕时,关闭loading ,再重新使用你自己的代码来加载SWF并显示。(这时将会从缓存读取,注意safari最大缓存的单个文件是5M 至少目前是这么大)

也许你要问为什么不直接用它的方式来显示呢?

当让你需要修改它的代码,这个对很多人来说有一点难度吧,另外如果你加载SWF与页面有数据交互的话使用它的方式可能会失效!

如果你对FLASH和js都有一定了解,那么你也可以自己写一个loader,来实现这些功能。当然你在制作这个loader的时候可以跟具你自己的需求来自定义,这样就不需要再有上面的第2步了。

我在这里就不在新制作一个了。如果公司后期有需求,我再制作一下!并共享出来!

【转】JS判断SWF,JPG加载完毕、兼容(Activex,plugIn)所有浏览器的更多相关文章

  1. js 判断iframe是否加载完毕

      js 判断iframe是否加载完毕 CreationTime--2018年9月13日15点30分 Author:Marydon 1.javascript实现 window.onload = fun ...

  2. Js判断CSS文件加载完毕的实例教程

    要判断这个 CSS 文件是否加载完毕,各个浏览器的做法差异比较大,这次要说IE浏览器做的不错,我们可以直接通过onload方法来处理CSS加载完成以后的处理: 代码如下 复制代码 // 代码节选至se ...

  3. js判断网页是否加载完毕 包括图片

    <script type="text/javascript" language="JavaScript"> //: 判断网页是否加载完成 docum ...

  4. js判断图片是否加载完毕

    附件: https://www.jb51.net/article/102385.htm 问题:  .offset().top和$(window).scrollTop()每次刷新页面后滚动的值有时候会不 ...

  5. 用js判断页面是否加载完毕

    用document.onreadystatechange的方法来监听状态改变, 然后用document.readyState == "complete"判断是否加载完成 docum ...

  6. js判断网页是否加载完毕

    1. document.onreadystatechange = function () { if(document.readyState=="complete") { docum ...

  7. axios(封装使用、拦截特定请求、判断所有请求加载完毕)

    博客地址:https://ainyi.com/71 基于 Promise 的 HTTP 请求客户端,可同时在浏览器和 Node.js 中使用 vue2.0之后,就不再对 vue-resource 更新 ...

  8. jQuery load() 判断 iframe 是否加载完毕

    判断 iframe 是否加载完毕  方法.jQuery load() var frm = document.getElementById('myiframe'); $(frm).load(functi ...

  9. javaScript & jquery完美判断图片是否加载完毕

    好久没写东西了,正好最近因为工作需要,写了一个瀑布流异步加载的程序. 今天就不谈瀑布流,来谈一下关于load的问题. ----------------------------------------- ...

随机推荐

  1. [翻译]现代java开发指南 第二部分

    现代java开发指南 第二部分 第二部分:部署.监控 & 管理,性能分析和基准测试 第一部分,第二部分 =================== 欢迎来到现代 Java 开发指南第二部分.在第一 ...

  2. [Selenium With C#学习笔记] Lesson-03 超级链接

    超级链接或链接是Web页面的基本元素之一,而通过超级链接使得万维网可以互联互通.一个典型的链接如下所示: HTML源码如下所示: <a href="index.html" i ...

  3. async/await与promise(nodejs中的异步操作问题)

    此文只是粗略介绍使用方法,欲了解核心概念请参考官方文档或其他资料. 举例写文章详情页面的时候的一个场景:首先更改文章详情中的 PV,然后读取文章详情,然后根据文章详情中文章 Id 查阅该文章评论和该文 ...

  4. 用Less定义常用的CSS3效果函数及常用颜色搭配(让CSS写起来更有趣)

    定义圆角及调用 /* 定义圆角 @radius 圆角大小 */ .round(@radius:5px){ border-radius:@radius; -webkit-border-radius: @ ...

  5. Java设计模式之接口型模式总结

    摘要: 原创作品,可以转载,但是请标注出处地址:http://www.cnblogs.com/V1haoge/p/6508967.html 之前认真学习了Java设计模式中的四大接口型模式,分别为:适 ...

  6. 电器ERP行业案例——环力科技

    环力科技ERP案例 企业简介 [规模] 环力公司始建于1992年,是一家专业生产电子压力控制器.水泵压力控制器.气泵压力控制器.电泵浮球控制器.全自动水泵及其它配套产品研究.开发.生产.销售为一体的专 ...

  7. Robot Framework中经常用的第三方库的安装方法

    pip升级:python -m pip install --upgrade pip 一.安装robotframework-selenium2library,相当于python中的selenium    ...

  8. 更改Debian Linux里面的EDT时区为CST时区

    Debian按默认安装,设置的是EDT时区.这样跟我们的系统就都对不上,因此得 改回CST. 只需要两步即可: 使用vi编辑/etc/timezone,把timezone文件的内容更改为:Asia/S ...

  9. golang中的rpc包用法

    RPC,即 Remote Procedure Call(远程过程调用),说得通俗一点就是:调用远程计算机上的服务,就像调用本地服务一样. 我所在公司的项目是采用基于Restful的微服务架构,随着微服 ...

  10. PPAPI VS NPAPI

    flash player PPAPI 它的CPU和内存占用率会比较高,主要是因为缓存大多放在内存里而不是硬盘上.   npapi的flash跟ppapi的flash基本是一样的,只不过ppapi插件都 ...