js加载完成事件

js加载完成事件,第1张

一般来说引入js的话都是在页面底部所有内容之后,</body>之前引入js文件,这样的话不影响页面的加载,并且因为在所有html之后加载,js中的获取html元素也都能获取到。

至于你说的在js文件加载完之后执行某个方法,那就在你引入js文件之后执行方法就行了。

<script src="引入js文件"></script>

<script>

    //调用文件方法名

    aaa()

</script>

//比如你js文件中方法为

function aaa(){

    alert(123)

}

js怎么判断flash是否加载完毕了呢?

我们怎么在flash加载完毕之时,回调一个我们设定的js函数?

这个问题,一直困扰了我很久,直到今天,请教了一个非常牛B的人物之后,突然来了感觉!

呵呵,也许,这个问题在你们看来不是问题,不过对于我来说,确实是个问题,因为我一直不知道该怎么判断swf文件是否加载完毕了?

从前都是只知道img.onload等等。

好了,言归正传,我们到底该怎样判断一个flash是否加载完了呢?

没错,就是轮询,然后判断flash的某个方法是否能正常运行?

示例如下(伪代码):

01 (function () {02 var flash = 网页上某个flash对象。03 04 var interval = setInterval(function () {05 try { 06 if(flash.IsPlaying()) { //轮询flash的某个方法即可 07 callBack &&callBack.call(flash, args)//回调函数08 clearInterval(interval) 09 } 10 } catch (ex) {11 12 } 13 }, 1000)14 15 var callBack = function () {16 alert('loaded')17 } 18 })()

//具体运用时,flash放进setInterval或者setTimeout的函数闭包中时,可能会由于JavaScript单线程问题,导致flash不能调用IsPlaying等flash player函数或者调用结果不对等状况,这里有个临时的解决办法,我们可以读取在轮询函数中读取flash的TotalFrames属性,读取得到,我们就可以认为flash已经完全加载到页面中了!!!

由于HTML是解释型语言,一般的DOM构建顺序是这样子的:(html → head → title → #text(网页标题) → style → 加载样式 → 解析样式 → link → 加载外部样式表文件 → 解析外部样式表 → script → 加载外部脚本文件 → 解析外部脚本文件 → 执行外部脚本 → body → div → script → 加载脚本 → 解析脚本 → 执行脚本 → img → script → 加载脚本 → 解析脚本 → 执行脚本 → 加载外部图像文件 → 页面初始化完毕)


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/tougao/11573809.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-17
下一篇 2023-05-17

发表评论

登录后才能评论

评论列表(0条)

保存