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. Javascript 异步实现机制

    Javascript 单线程指的是在一个浏览器进程中只存在一个 Javascript 执行线程,所以任务需要顺序排列等待执行,而不能像 Java 等多线程语言一样并发执行.但是这种单线程模型在处理耗时 ...

  2. SpringBoot实践 - SpringBoot+MySql+Redis

    大家都知道redis的强大之处,在目前应用上也是大显神威. 先说说他的优点: 1 读写性能优异 2 支持数据持久化,支持AOF日志和RDB快照两种持久化方式 3 支持主从复制,主机会自动将数据同步到从 ...

  3. weex官方demo weex-hackernews代码解读(1)

    一.介绍 weex 是阿里出品的一个类似RN的框架,可以使用前端技术来开发移动应用,实现一份代码支持H5,IOS和Android.最新版本的weex已默认将vue.js作为前端框架,而weex-hac ...

  4. gvim生存配置

    set guioptions-=Tcolorscheme desert set clipboard+=unnamedset mouse=a winpos 200 50set lines=20 colu ...

  5. 硅谷创业教父Paul Graham:如何获得创业idea

    link:http://kb.cnblogs.com/page/165530/ 英文原文:How to Get Startup Ideas,翻译:Jason Zheng 要想获得创业 idea,请别试 ...

  6. windows下读取utf-8文件

    #include <stdio.h> #include <tchar.h> #include <memory> int main() { FILE* fp1 = f ...

  7. Professional C# 6 and .NET Core 1.0 - Chapter 41 ASP.NET MVC

    What's In This Chapter? Features of ASP.NET MVC 6 Routing Creating Controllers Creating Views Valida ...

  8. SuperWebClient -一个基于CURL的.NET HTTP/HTTPS模拟神组件(2)

    今天我们讨论SuperWebClient组件使用中的几个简单主题 1: UserAgent2: Cookies3: POST登录 1:UserAgent这个是客户端标识信息,此信息是用于鉴别正在访问W ...

  9. JDK 安装过程

    1.首先是下载jdk:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 2.下载完 ...

  10. canvas小球动画原理

    随着html5发展,canvas标签作为h5革命性的发展标志也越来越流行.canvas标签的强大之处,不仅在于它可以作为一个独立的画布,也可以利用canvas做一些动画而不用导入flash文件.同时, ...