Javascript HTML/jQuery:如何正确包含外部jQuery文件

Javascript HTML/jQuery:如何正确包含外部jQuery文件,javascript,jquery,html,include,document-ready,Javascript,Jquery,Html,Include,Document Ready,我是JS和编程新手,希望有人能帮我解决这个问题 我目前正在构建一个网站,其中每个页面都有单独的HTML/PHP文件。 jQuery和my global/general JS函数通过单独的包含文件“footer.php”包含在所有这些页面的页脚中 到目前为止,一切正常 现在,我有一些页面将使用特定的jQuery函数,因此我只想在加载此类页面时加载相应的JS 为此,我将相应的代码保存在单独的JS文件中(例如,nameOfExternalJsFile.JS),并将所有内容包装在下面的文件中: $(do

我是JS和编程新手,希望有人能帮我解决这个问题

我目前正在构建一个网站,其中每个页面都有单独的HTML/PHP文件。 jQuery和my global/general JS函数通过单独的包含文件“
footer.php
”包含在所有这些页面的页脚中

到目前为止,一切正常

现在,我有一些页面将使用特定的jQuery函数,因此我只想在加载此类页面时加载相应的JS

为此,我将相应的代码保存在单独的JS文件中(例如,nameOfExternalJsFile.JS),并将所有内容包装在下面的文件中:

$(document).ready(function(){
   // ...
}); 
然后我对相应的PHP页面进行了以下更新(示例):

<head>
    <?php 
        require_once("includes/header.php");
    ?>

    <!-- here I want to include the specific jQuery functions -->
    <script src="includes/js/nameOfExternalJsFile.js"></script>
</head>
<!-- ... -->
<!-- here I include the main JS functions -->
<?php require_once("includes/footer.php"); ?>

我对此有两个担忧:

  • 我不确定这是否是包含此类文件的正确方式,因为 我需要准备好文件上的文件
  • 我在页脚中包含了我的主要JS,因为我被告知这会有所改进 但是我可以在标题中包含jQuery函数吗
  • 有人能告诉我这是否正确,或者我是否应该在这里更改任何内容吗


    非常感谢您的帮助。

    您应该加载
    $(文档)。只有在加载jQuery之后,即在页脚文件中,在jQuery
    标记之后,才可以加载ready(…)
    内容,如下所示:

    <script src="includes/js/jQuery.min.js"></script>
    <script src="includes/js/nameOfExternalJsFile.js"></script>
    

    您应该加载
    $(文档)。只有在加载jQuery之后,即在页脚文件中,jQuery
    标记之后,才能加载ready(…)
    内容,如下所示:

    <script src="includes/js/jQuery.min.js"></script>
    <script src="includes/js/nameOfExternalJsFile.js"></script>
    
    
    
    您可以将footer.php的内容更改为在页面底部手动包含/nameOfExternalJsFile.js。这是最安全的方法,因为您可以在加载其他脚本之前加载jquery。

    您可以将footer.php的内容更改为在页面底部手动包含/nameOfExternalJsFile.js。这是最安全的方法,因为您可以在加载其他脚本之前加载jquery。

    最好将所有JS文件放在正文末尾

    <html>
    <head></head>
    <body>
    ... Some HTML
    <script>SomeScripts</script>
    </body>
    </html>
    

    
    ... 一些HTML
    一些脚本
    
    
    
    如果要确保在页面加载后加载外部脚本,请使用: $(函数(){ /*您的代码来自脚本*/ });

    将所有JS文件放在正文末尾是一个很好的做法

    <html>
    <head></head>
    <body>
    ... Some HTML
    <script>SomeScripts</script>
    </body>
    </html>
    

    
    ... 一些HTML
    一些脚本
    
    
    
    如果要确保在页面加载后加载外部脚本,请使用: $(函数(){ /*您的代码来自脚本*/ });

  • 将函数包装在
    $(document).ready
    中会自动解决此问题。从
  • 在文档“就绪”之前,无法安全地操作页面 jQuery为您检测这种准备状态。代码包括在内 $(document).ready()将只运行一次页面文档对象 模型(DOM)已准备好让JavaScript代码执行

  • 从技术上讲,不管是在页眉还是页脚中包含脚本,只要先加载JQuery,然后再加载脚本

    也就是说,通常建议两个脚本都在结束正文标记之前,以按照您的建议提高性能。有一些文章讨论了这一点,如性能专家史蒂夫·苏德斯和雅虎!出色的团队表现

  • 将函数包装在
    $(document).ready
    中会自动解决此问题。从
  • 在文档“就绪”之前,无法安全地操作页面 jQuery为您检测这种准备状态。代码包括在内 $(document).ready()将只运行一次页面文档对象 模型(DOM)已准备好让JavaScript代码执行

  • 从技术上讲,不管是在页眉还是页脚中包含脚本,只要先加载JQuery,然后再加载脚本

    也就是说,通常建议两个脚本都在结束正文标记之前,以按照您的建议提高性能。有一些文章讨论了这一点,如性能专家史蒂夫·苏德斯和雅虎!出色的团队表现


  • 非常感谢!PHP页脚include是我关闭body标记之前的最后一行,所以这应该可以,对吗?关于文档准备行,我可以将其保存在外部文件中,只要我先包含jQuery,然后再包含此外部文件,对吗?在这两个方面都是:-)非常感谢!PHP页脚include是我关闭body标记之前的最后一行,所以这应该可以,对吗?关于文档就绪行,我可以将其保存在外部文件中,只要我先包含jQuery,然后再包含此外部文件,对吗?在这两个方面都是:-)