js如何判断引入的js文件是否加载完毕

js如何判断引入的js文件是否加载完毕,第1张

js怎么判断flash是否加载完毕了呢
我们怎么在flash加载完毕之时,回调一个我们设定的js函数
这个问题,一直困扰了我很久,直到今天,请教了一个非常牛B的人物之后,突然来了感觉!
呵呵,也许,这个问题在你们看来不是问题,不过对于我来说,确实是个问题,因为我一直不知道该怎么判断swf文件是否加载完毕了
从前都是只知道imgonload等等。
好了,言归正传,我们到底该怎样判断一个flash是否加载完了呢
没错,就是轮询,然后判断flash的某个方法是否能正常运行
示例如下(伪代码):
01 (function () { 02 var flash = 网页上某个flash对象。 03 04 var interval = setInterval(function () { 05 try { 06 if(flashIsPlaying()) { //轮询flash的某个方法即可 07 callBack && callBackcall(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已经完全加载到页面中了!!!

1、首先创建两个文件,一个jstesthtml,一个jstestjs文件。

2、打开html在里面引入jstestjs。

3、打开jstestjs文件,创建一个方法aa。

4、然后接着使用if(typeof  aa=="function")判断如果aa方法存在就提示"aa方法存在",否则d出"aa方法不存在",明显aa是存在的。

5、接着使用if(typeof  cc=="function")判断如果cc方法存在就提示"cc方法存在",否则d出"cc方法不存在",因为我们没有定义cc这个方法,所以cc不存在。

6、打开jstesthtml,第一会提示,“aa方法存在”。

可以用google开发者工具选择调试,先观察network 未加载文件

在notepad++快速筛选出元素并删除css和js除非加载不出来,否则不要乱删,对没用的dom元素删除可以使用左上角箭头进行不需要部分选取删除既然已下载离线除非已包含,不然加载不出来还是没用。

最后介绍一个小工具:仿站小工具  对快速建站和初学者分析 还是挺好用的。祝学习愉快

你应该给head里面添加,而不是直接在document上写
var head = documenthead;
var script = documentcreateElement("script")
scriptsetAttribute("src","js/ajs");
headappendChild(script)

你说的js的函数库是指的js的内置对象和方法吧,既然是内置的那么就是js默认实现的了,至于有什么自己好好学习一下,比如常用的String,Date,Math,RegExp,等等对象,还有Dom对象啊,要了解js就先从这些基本的开始

如果你的意思是引入了两次相同的外部js文件的话:
1-不会造成页面臃肿(当然,多了一行引用js的代码)
2-浏览速度不会变慢
实际上只会多一次文件请求,其他都一样,而且,如果apache配置正确的话,重复请求相同的js会得到301信息。所以,这个事儿很小,也不会带来什么后果。但是也不建议重复调用。


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

原文地址: https://outofmemory.cn/yw/13349377.html

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

发表评论

登录后才能评论

评论列表(0条)

保存