Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/83.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
Jquery-Load函数在页面加载时没有onload?_Jquery - Fatal编程技术网

Jquery-Load函数在页面加载时没有onload?

Jquery-Load函数在页面加载时没有onload?,jquery,Jquery,使用jquery在不使用onload或on-page加载事件的情况下加载特定页面的代码片段的最佳方法是什么?我有一个js文件,它包含在不同的网页中,这个js文件中有自定义的jquery代码,所以一些代码用于一个网页,其他代码用于其他网页。有没有办法在加载某个页面时让代码运行,而不是将它们分解成自己的js代码?您可以使用以下方法: if(window.location.href == 'http://www.mysite.com/thispage') { //javascript for

使用jquery在不使用onload或on-page加载事件的情况下加载特定页面的代码片段的最佳方法是什么?我有一个js文件,它包含在不同的网页中,这个js文件中有自定义的jquery代码,所以一些代码用于一个网页,其他代码用于其他网页。有没有办法在加载某个页面时让代码运行,而不是将它们分解成自己的js代码?

您可以使用以下方法:

if(window.location.href == 'http://www.mysite.com/thispage')
{
    //javascript for 'thispage'
}

将代码放在页面底部的脚本标记中,并在location.href上进行一些if检查,如:

if(location.href == "/thisPage"){
   some code

 }

 if(location.href == "/thatPage"){
   some other code

 }

我建议将其视为一种依赖关系管理。您必须将脚本分成更小的块,但是require.js优化实用程序将把所有这些都打包成一个请求(因此您不必担心多个HTTP请求的开销)

是的,使用这个库有一个很小的学习曲线,它的体系结构与您目前正在做的不同,但从长远来看,您将为自己节省很多

  • 您将不再加载不属于该页面的脚本
  • 您的脚本可以更加模块化,并且特定于用例
  • 您可以将所有单页依赖项捆绑到单个请求中(包括jquery库)

为什么不能使用onload钩子?您可以在body/div容器上定义一个pageid,只需执行if($(“#pageid”).长度)。。这就是我通常做的:)