`
wunke
  • 浏览: 10399 次
  • 性别: Icon_minigender_1
  • 来自: 广州
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

javascript 加载不同步的解决方法

阅读更多

当js的定义是异步加载时(如是放在iframe),有可能调用的函数执行比函数定义的代码要快,此时会出现函数未定义的错误.

解决方法:

1.如果可以修改加载进来的js文件,可用某个变量名(例如其文件名)定义为全局函数,

调用此文件的函数时,判断此变量名是否未定义即可知此文件是否被加载(把变量定义放在文件末,则可知此文件是否加载完成)

2.若不可以修改加载进来的js文件,则在调用其函数前,判断此函数是否已定义,否则进入延迟调用.

实战经验:

场景:要等页面中某个iframe中的js加载完成,才能执行checkSave函数

代码:

分享到:
评论

相关推荐

    javascript 文件的同步加载与异步加载实现原理

    本文将介绍javascript 文件的同步加载与异步加载实现原理,需要了解的朋友可以了解下

    javascript异步加载

    默认情况javascript是同步加载的,javascript的加载时阻塞的,后面的元素要等待javascript加载完毕后才能进行再加载,接下来将为你详细介绍下异步加载js三种实现方案,

    JavaScript文件的同步和异步加载的实现代码

    本篇文章主要介绍了JavaScript文件的同步和异步加载的实现代码,具有一定的参考价值,有兴趣的可以了解一下

    Javascript 异步加载详解(浏览器在javascript的加载方式)

    一、同步加载与异步加载的形式 1. 同步加载 我们平时最常使用的就是这种同步加载形式: [removed][removed] 同步模式,又称阻塞模式,会阻止浏览器的后续处理,停止了后续的解析,因此停止了后续的文件加载(如图像...

    js异步加载的三种解决方案

    默认情况javascript是同步加载的,也就是javascript的加载时阻塞的,后面的元素要等待javascript加载完毕后才能进行再加载,对于一些意义不是很大的javascript,如果放在页头会导致加载很慢的话,是会严重影响用户...

    javascript动态加载三

    首先是通过同步策略来实现模块加载与回调函数之间进行分离,接着是通过异步策略来实现模块加载与回调函数之间进行分离。 这一篇,主要是为了说说怎么优化异步策略,并且实现了随意加载(非任意顺序加载模块),页面...

    load.js:JavaScript jscss、jsonpajax、同步加载器

    加载.js JavaScript js/css、jsonp/ajax、同步/异步加载器这个库使您可以完全控制为您的 Web 应用程序加载脚本和 css 文件。 您无需在 HTML 页面中使用一堆“脚本”和“链接”标签,而是将它们全部定义在一个地方。 ...

    js加载之使用DOM方法动态加载Javascript文件

    传统上,加载Javascript文件都是使用[removed]标签。 就像下面这样: [removed][removed] [removed]标签很方便,只要加入网页,浏览器就会读取并运行。...浏览器采用”同步模式”加载[removed]标签,也就

    程序天下:JavaScript实例自学手册

    19.14 使用JavaScript加载XML文件 19.15 动态加载JavaScript文件 19.16 防止JavaScript文件被其他站直接引用 19.17 检查机器是否安装Word 19.18 打印当前页 19.19 打印预览 19.20 隐藏不想打印的页面内容 19.21 使用...

    JavaScript无阻塞加载和defer、async详解

    无阻塞加载 把js放在head里,浏览器是怎么去执行它的呢,是按顺序加载还是并行加载呢?在旧的浏览器下,都是按照先后顺序来加载的,这就保证了加载的js依赖不会发生问题。...javascript加载是不会影响已经渲染的页

    JavaScript异步加载问题总结

    如果我的index页面要加载一些js,但是其中的某个请求迟迟得不到响应,于是阻塞了后面的js代码的执行(同步加载),同时页面渲染也不能继续(如果js引入是在head标签后)。 [removed]</scrip

    JavaScript异步加载浅析

    关于JavaScript脚本加载的问题,相信大家碰到很多。主要在几个点—— 1> 同步脚本和异步脚本带来的文件加载、文件依赖及执行顺序问题 2> 同步脚本和异步脚本带来的性能优化问题 深入理解脚本加载相关的方方面面问题...

    《程序天下:JavaScript实例自学手册》光盘源码

    19.14 使用JavaScript加载XML文件 19.15 动态加载JavaScript文件 19.16 防止JavaScript文件被其他站直接引用 19.17 检查机器是否安装Word 19.18 打印当前页 19.19 打印预览 19.20 隐藏不想打印的页面内容 19.21 使用...

    javascript动态加载二

    在上一篇javascript动态加载中,提到了使用同步加载策略这一个方式来实现如 代码如下: Using(“jquery”); Using(“User”); $(“#ID”).click(function(){ var user = new User(); user.name = “xx”; user.show()...

    QML中动态创建组件(同步/异步)的方法

    在QML中想要动态创建组件,一般有两种方法: 1、使用Loader。 2、使用JavaScript:Qt.createComponent() / Qt.createQmlObject()。

    javascript同步Import,同步调用外部js的方法

    !– (function(){ if(typeof window._Import !... //防止多次加载 function _Import(uri, x) { var f = arguments.callee.caller; if(typeof f == “function”) { var IsIE = (navigator.u

    JS 动态加载js文件和css文件 同步/异步的两种简单方式

    /*动态添加js或css,URL:文件路径,FileType:文件类型(js/css)*/ function AddJsFiles(URL,FileType){ var oHead = document.getElementsByTagName('... addheadfile.type = "text/javascript"; addheadfile.src=URL;

Global site tag (gtag.js) - Google Analytics