标签: jQuery

  • 如何修复”jQuery is Not Defined”错误

    错误类型:
    浏览器错误
    错误名称:
    JQuery未定义
    英文名称:
    jQuery is Not Defined
    错误描述:
    简单地说,这个错误试图告诉您站点上的某些东西(可能是插件)需要jQuery在您的站点上运行。出于某种原因,当浏览器尝试加载网站并调用特定jQuery时,它不可用。

    如何修复"jQuery is Not Defined"错误

    无论你对WordPress错误是否陌生,在你的网站上工作时遇到“jQuery is not defined”从来都不是一件有趣的事。这可能是一个令人震惊和困惑的信息。幸运的是,这是使用jQuery的站点在某些时候可能遇到的标准错误。

    也许您的站点已关闭,当您检查浏览器控制台是否有错误时,您会看到“jQuery is not defined”。查找错误是第一步,做得很好!

    下一步是解决它。因为这是一个更容易修复的JavaScript错误,所以不需要花费很长时间。

    在这篇文章中,我们将带您了解快速修复它所需的所有知识。这包括错误的含义,它可能首先发生的原因-所有防止将来发生此错误的关键信息。最后,我们将引导您完成解决此问题的几个步骤。

    1. 什么是”jQuery is not defined”错误?
    2. 如何修复”jQuery is not defined”错误

    什么是”jQuery is not defined”错误?

    浏览器中方便的控制台日志中,您可能会发现此错误。但这并不是令人难以置信的描述。“jQuery is not defined”实际上是什么意思?

    简单地说,这个错误试图告诉您站点上的某些东西(可能是插件)需要jQuery在您的站点上运行。出于某种原因,当浏览器尝试加载网站并调用特定jQuery时,它不可用。

    此错误可能会导致网站对访问者关闭。因为互联网上大约78%的网站运行jQuery,这是一个常见的错误。

    控制台日志中“jQuery is not defined" 错误

    控制台日志中“jQuery is not defined” 错误

    “jQuery is not defined”错误的潜在原因

    这个错误可能会让人大吃一惊。你的网站昨天运行得很好-发生了什么事?这可能有点让人头痛。

    可能发生了一些可能引发“jQuery未定义”错误的情况:

    1. WordPress站点上安装的旧插件与您最近安装并激活的插件冲突。如果您最近安装或激活了新插件,或者您站点上的某些插件最近没有更新,这可能是原因。
    2. 性能缓慢或较差的托管环境可能会增加调用jQuery时执行jQuery所需的时间。仔细检查服务器资源或错误日志以确认这一点。
    3. 在jQuery完全加载之前,网站上的JavaScript正在运行。或者页面加载时JavaScript文件没有正确加载。
    4. 用于提高站点性能的CDN无法访问服务器。如果您根本没有使用CDN,那么可以完全排除这种可能性。
    5. 您的jQuery版本中存在错误或输入错误。也许有人最近编辑了一个核心文件或插件,这导致了冲突。

    如何修复”jQuery is not defined”错误

    在我们开始修复之前,请记住在编辑代码之前备份您的网站!即使是经验最丰富的开发人员也会时不时地犯错误,手头有备份可以防止您在故障排除时丢失任何重要的工作。

    一旦你采取了这些必要的预防措施,是时候纠正这个错误了。

    解决此错误需要熟悉添加、删除和编辑代码。别担心,您不需要从头开始编写任何代码。但如果您准备通过SFTP或托管环境访问站点的代码,这将有所帮助。

    它不适合通过WordPress仪表板代码编辑器编辑代码。如果你手头还没有一个好的文本编辑器,现在是时候安装一个了。

    这里有几个选项可以用来解决此错误,并将您的站点恢复给访问者。

    方法 1: 如果jquery正在加载,请使用网络选项卡进行调试

    查看浏览器开发工具的“网络”选项卡,查看是否正在加载jQuery。这为您提供了一个快速验证的地方。

    另一种选择是查看可能导致错误的多个插件和主题。检查站点的代码,确保包含jQuery。最好只加载一次。

    如果未包含jQuery库,请使用以下代码段将其添加到wp_enqueue_script()函数中:

    wp_enqueue_script( ‘tt-mobile-menu’, get_template_directory_uri() .
    ‘/js/mobile-menu.js’, array(‘jQuery’), ‘1.0’, true );
    wp_enqueue_script( ‘tt-mobile-menu’, get_template_directory_uri() .
    ‘/js/mobile-menu.js’, array(‘jQuery’), ‘1.0’, true );
    wp_enqueue_script( 'tt-mobile-menu', get_template_directory_uri() .
    '/js/mobile-menu.js', array('jQuery'), '1.0', true );

    通过转到wp_includes文件夹找到此代码,然后打开script-loader.php文件。如果这不起作用,或者如果您发现jQuery库实际上已经包含在内,请转到以下方法。

    代码段在script-loader.php文件中的外观

    代码段在script-loader.php文件中的外观

    方法 2: 确保jquery已加载

    当包含但未加载jQuery时,您可能会遇到“jQuery is not defined error”。通过查找脚本源并将URL粘贴到新浏览器或选项卡中,确保已加载该脚本。

    例如,如果<script src=设置为:

    要查找要测试的URL,应查找的文本片段

    要查找要测试的URL,应查找的文本片段

    然后,复制并粘贴http://code.jquery.com/jquery-1.11.2.min.js将部分插入新窗口或选项卡。如果jQuery文件加载并向您显示了全部内容,您可以将其从列表中勾选出来。

    方法 3: 给CDN托管的jQuery做个Local Fallback

    这是包含在JavaScript中的一个很好的选项,因为在本地主机上运行jQuery可以全面改善您的网站体验。这将有助于避免任何其他CDN jQuery加载问题。

    // Fall back to a local copy of jQuery
    window.jQuery || document.write())
    // Fall back to a local copy of jQuery
    window.jQuery || document.write(”))
    // Fall back to a local copy of jQuery
    window.jQuery || document.write(''))

    上述代码片段在代码编辑器中的外观

    上述代码片段在代码编辑器中的外观

    方法 4:在wp-config.php文件中添加一个代码段

    如果上述操作均无效,请打开wp-config.php文件并完整粘贴到以下代码段中:

    /** Absolute path to the WordPress directory. */
    if ( !defined(‘ABSPATH’) )
    define(‘ABSPATH’, dirname(__FILE__) . ‘/’);
    define(‘CONCATENATE_SCRIPTS’, false);
    /** Absolute path to the WordPress directory. */
    if ( !defined(‘ABSPATH’) )
    define(‘ABSPATH’, dirname(__FILE__) . ‘/’);
    define(‘CONCATENATE_SCRIPTS’, false);
    /** Absolute path to the WordPress directory. */
    if ( !defined('ABSPATH') )
    define('ABSPATH', dirname(__FILE__) . '/');
    define('CONCATENATE_SCRIPTS', false);

    上述代码段在wp-config.php文件中的外观

    上述代码段在wp-config.php文件中的外观

    方法 5:手动插入jQuery库

    作为最后一种方法,您可以直接进入header.php文件并添加jQuery库。

    以下是方法:

    1. 首先,转到Google托管的库并完整复制最新版本的jQuery库。
    2. 打开header.php文件,该文件位于themes文件夹中。
    3. 从第一步添加jQuery库。确保它正好在头标签后面。
    4. 完成后保存文件。

    上述代码段在wp-config.php文件中的外观

    上述代码段在wp-config.php文件中的外观

    小结

    一般情况下,完成这些步骤后,您应该能够解决“jQuery is not defined”错误并访问您的站点。

    由于此问题通常是由于浏览器无法连接jQuery库造成的,因此可以尝试的解决方案数量有限。大多数人通过以上任何一种选择都能获得成功。

    如果由于某种原因上述步骤都无法解决错误,那么最好联系您的服务器托管公司以获得支持。

  • 如何在WordPress中删除jQuery Migrate?

    如何在WordPress中删除jQuery Migrate

    jQuery Migrate通过识别不推荐使用的功能,极大地简化了将旧jQuery代码移动到更高jQuery版本的过程。然后它会恢复已弃用的功能和行为,以便旧代码仍能在当前jQuery版本及更高版本上正常运行。

    大多数最新的前端代码和插件不需要jquery-migrate.min.js。在大多数情况下,这只会给您的网站增加不必要的负载。如果您启动,您可以看到它正在运行Chrome开发工具控制台.

    删除jQuery Migrate的其他原因:

    • 保持你的代码、主题和插件更新比修补支持额外的文件更好。保持您的网站更新也可以防止它受到安全攻击。
    • 如果您正在运行使用旧jQuery代码的插件,最好更新它们或切换到保持更新的替代方案。

    如何从WordPress中删除jQuery Migrate?

    从WordPress中移除 jQuery Migrate非常简单。您只需要将以下代码行添加到主题functions.php文件中。

    //Remove JQuery migrate
    function remove_jquery_migrate( $scripts ) {
    if ( ! is_admin() && isset( $scripts->registered[‘jquery’] ) ) {
    $script = $scripts->registered[‘jquery’];
    if ( $script->deps ) {
    // Check whether the script has any dependencies
    $script->deps = array_diff( $script->deps, array( ‘jquery-migrate’ ) );
    }
    }
    }
    add_action( ‘wp_default_scripts’, ‘remove_jquery_migrate’ );
    //Remove JQuery migrate
    function remove_jquery_migrate( $scripts ) {
    if ( ! is_admin() && isset( $scripts->registered[‘jquery’] ) ) {
    $script = $scripts->registered[‘jquery’];
    if ( $script->deps ) {
    // Check whether the script has any dependencies
    $script->deps = array_diff( $script->deps, array( ‘jquery-migrate’ ) );
    }
    }
    }
    add_action( ‘wp_default_scripts’, ‘remove_jquery_migrate’ );
    //Remove JQuery migrate
    function remove_jquery_migrate( $scripts ) {
    if ( ! is_admin() && isset( $scripts->registered['jquery'] ) ) {
    $script = $scripts->registered['jquery'];
    if ( $script->deps ) { 
    // Check whether the script has any dependencies
    $script->deps = array_diff( $script->deps, array( 'jquery-migrate' ) );
    }
    }
    }
    add_action( 'wp_default_scripts', 'remove_jquery_migrate' );

    另一种禁用它的最简单方法是添加一个名为Remove jQuery Migrate的插件。

    使用WP Rocket插件删除jQuery Migrate

    WP Rocket插件带有内置功能,只需单击即可删除jQuery Migrate。

    要使用WP Rocket删除jQuery Migrate,请转到WP Rocket插件的设置 >> FILE OPTIMZATION。

    使用WP Rocket缓存插件删除jQuery Migrate

    使用WP Rocket缓存插件删除jQuery Migrate

    在JavaScript Files部分下,您可以选中Remove jQuery Migrate复选框。就是这样。

    参考阅读:使用WP Rocket插件加速您的WordPress网站.

    使用插件Remove jQuery Migrate删除jQuery Migrate:

    Remove jQuery Migrate这个插件从站点的前端删除jQuery Migrate脚本(注:该插件已经久未更新版本)。

    转到仪表板:登录到您的WordPress站点以打开仪表板。

    转到插件:您将在左侧菜单栏上看到插件菜单。单击它将展开更多选项,单击添加新的。

    如图所示,在搜索栏中搜索Remove jQuery Migrate。

    如何在WordPress中删除jQuery Migrate?-1

    搜索安装插件

    如何在WordPress中删除jQuery Migrate?-1

    点击立即安装

    激活插件,就是这样。该插件将完成您的其余工作。

    这是大多数开发人员建议的最常用的插件。您还可以选择其他可用的插件。

    正如我上面提到的,jQuery migrate给你的站点增加了不必要的负载。因此,我建议将其从您的网站或博客中删除。