Fez*_*sta 36 jquery asynchronous
我已将asyncattrib 添加到我的javascript包含HTML中.
所以我现在:
<script async src="jquery.myscript.js"></script>
Run Code Online (Sandbox Code Playgroud)
这适用于所有JS我加载,除了jquery之外.
如果我添加async到jQuery <script>标记所有其他依赖于jquery的脚本都不起作用.
在那个jsfiddle你可以看到问题:
JsFiddle
在我使用的示例中,我使用的<script> Mycode </script>不是包含外部file.js,但这并没有改变这种情况.
我想用异步attrib运行jQuery并在加载jquery之后异步运行其他几个外部脚本.
有可能的?
Joh*_*nck 22
我想用异步attrib运行jQuery并在加载jquery之后异步运行其他几个外部脚本.
那是什么意思?这听起来很像你想先加载jQuery,然后是其他的东西.所以你想同步加载它.如果您仍想使用这种async方式,您可以定义一个onload函数,以便在jQuery准备就绪后继续加载其他内容.或者你可以使用defer.这两个都在这里解释:https://davidwalsh.name/html5-async
Fli*_*imm 18
这是一个很好的用例defer:
<script defer src="jquery.js"></script>
<script defer src="custom.js"></script>
Run Code Online (Sandbox Code Playgroud)
这些标签都不会阻止渲染.该浏览器可以下载jquery.js和custom.js并行.它将jquery.js在下载并且已加载DOM custom.js后立即执行,并在之后执行.
可悲的是,有一些问题:
defer属性用于内联脚本.defer到意外交织它们的执行.defer顺序的脚本按顺序执行的规范,只是说它们是在DOM加载后执行的.ElH*_*aix 14
这可能是你正在寻找的:
http://www.yterium.net/jQl-an-asynchronous-jQuery-Loader - jQl一个异步的jQuery Loader.
它异步加载jQuery而不阻塞其他组件:
jQl.loadjQ('http://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js');
Run Code Online (Sandbox Code Playgroud)
jQl自动捕获所有jQuery().ready()调用,因此您可以编写:
<script type="text/javascript">
jQl.loadjQ('http://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js');
jQuery('document').ready(function(){
alert('Hello world');
});
</script>
Run Code Online (Sandbox Code Playgroud)
jQl将对这些函数调用进行排队,并在加载jQuery并且DOM准备好后立即执行它们,因为它们将以通常的方式执行.
| 归档时间: |
|
| 查看次数: |
59408 次 |
| 最近记录: |