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. plupload插件的错误SCRIPT601

    在网上copy 别人的demo来用结果发生这个问题.浪费半天时间才找到问题. 在IE8下下提示这个异常. SCRIPT601: 未知的运行时错误plupload.full.min.js, 行15 字符 ...

  2. EM and GMM(Theory)

    Part 1: Theory 目录: What's GMM? How to solve GMM? What's EM? Explanation of the result What's GMM? GM ...

  3. Javascript面对对象. 第五篇

    继承 继承是面向对象中一个核心的概念.其他正统面向对象语言都会用两种方式实现继承: 一个是接口实现,一个是继承. 而ECMAScript只支持继承,不支持接口实现,而实现继承的方式依靠原型链完成. / ...

  4. 一步一步学Python(2) 连接多台主机执行脚本

    最近在客户现场,每日都需要巡检大量主机系统的备库信息.如果一台台执行,时间浪费的就太冤枉了. 参考同事之前写的一个python脚本,配合各主机上写好的shell检查脚本,实现一次操作得到所有巡检结果. ...

  5. U3d keyCode值对应的按键

    值        对应键 Backspace     退格键 Delete      Delete键 Tab        TabTab键 Clear  Clear键 Return  回车键 Paus ...

  6. oracle系列笔记(2)---多表查询

    多表查询     这篇文章主要讲四点: (1)oracle多表查询    (2)SQL99标准的连接查询   (3)子查询     (4)分级查询 oracle多表查询有两种方式,一种是oracle所 ...

  7. 剑指offer编程题Java实现——面试题12相关题大数的加法、减法、乘法问题的实现

    用字符串或者数组表示大数是一种很简单有效的表示方式.在打印1到最大的n为数的问题上采用的是使用数组表示大数的方式.在相关题实现任意两个整数的加法.减法.乘法的实现中,采用字符串对大数进行表示,不过在具 ...

  8. java中的ConcurrentModificationException异常

    先看这样一段代码: List<String> list = new ArrayList<String>(); list.add("1"); list.add ...

  9. ERP免费模拟上线

    为了让更多中小企业在应用管理软件之前可以评估企业执行力和规避实施风险,普实在云端部署了AIO5的试用环境,免费供大家导入实际数据进行学习和测试.因资源有限,申请要求如下: 1.填写申请信息并加盖公章: ...

  10. #include<bits/stdc++.h>

    在听学长讲课时看到了#include<bits/stdc++.h>这个头文件,瞬间懵逼辣,百度后了解了 #include<bits/stdc++.h>,包含了C++的所有头文件 ...