Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将jQuery函数分成异步组_Javascript_Jquery_Asynchronous_Web - Fatal编程技术网

Javascript 将jQuery函数分成异步组

Javascript 将jQuery函数分成异步组,javascript,jquery,asynchronous,web,Javascript,Jquery,Asynchronous,Web,这是一个寻找方法/解决方案以解决以下要求的问题: 您有一个运行jQuery的网站 您站点上的所有jQuery功能都可以分为两组:a)业务相关逻辑(本地功能,如导航等)和b)获取不太重要的内容(如广告)的功能,我们称a)组L和另一组组E(用于外部) 目的是确保E组中的延迟不会妨碍L组的执行,因此L组和E组应该并行运行,而不会相互影响 如何做到这一点 非常简单的例子: 本地组L: <script> $(document).ready(function() { ... lo

这是一个寻找方法/解决方案以解决以下要求的问题:

  • 您有一个运行jQuery的网站
  • 您站点上的所有jQuery功能都可以分为两组:a)业务相关逻辑(本地功能,如导航等)和b)获取不太重要的内容(如广告)的功能,我们称a)组L和另一组组E(用于外部)
  • 目的是确保E组中的延迟不会妨碍L组的执行,因此L组和E组应该并行运行,而不会相互影响
如何做到这一点

非常简单的例子:

本地组L:

<script>
  $(document).ready(function() {
    ... local functions, e.g. event listeners for your local navigation ...
  }
</script>

$(文档).ready(函数(){
…本地功能,例如用于本地导航的事件侦听器。。。
}
E组: 外部方提供的任何javascript

<script>
  $(document).ready(function() {
    ... external java script code, e.g. Advertiser JS-snippets ...
  }
</script>

$(文档).ready(函数(){
…外部java脚本代码,例如广告客户JS片段。。。
}

您可以通过以下方式完成此操作:

您可以在任何地方调用这些功能;请在控制台中尝试:

>>GROUP_E.group_e_variable
>>'cats'

>>GROUP_E.group_e_function(my_data)
>> //whatever your function does
还有很多方法可以做到这一点,这种方法恰好是我最喜欢的


关于模块模式的更多信息:

以防您不知道。我个人建议您学习AMD(异步模块定义)使用.You甚至可以.Cheers.

谢谢这个指针,听起来很有趣。可以想象,上面E组中的javascript是由外部方提供的,所以我无法控制它们(它们可能使用全局变量$,jQuery),所以我实际上是在寻找将我自己的代码与外部代码隔离开来的方法…使用window.onload()来激活组E的代码怎么样?请参阅
>>GROUP_E.group_e_variable
>>'cats'

>>GROUP_E.group_e_function(my_data)
>> //whatever your function does