我在我的 WordPress 网站上使用 Gravity Forms 插件。我通过 HTTPS 提供页面,这会破坏表单。
问题似乎出在站点尝试加载 jQuery 的方式上。页面上有 23 个 JavaScript 错误,这似乎是由于 jQuery 加载失败 “Uncaught ReferenceError: jQuery is not defined”
。
如果我转到源试图提取 jQuery 文件的页面,您将看到 错误:https://code.jquery.com/jquery-1.7.1.min.js? ver=3.4.2
错误截图:
此截图是页面源中的引用:
所以有人告诉我我想调查一下 - 这是最终问题所在,但我真的不知道下一步该做什么。
失败是因为 Gravity Forms、WordPress 的 HTTPS 插件还是我的 SSL 证书?
最佳答案
code.jquery.com
域不支持 https。您需要从您自己的域或从 Google 或 Microsoft CDN 加载 jQuery。
要通过 https 从您自己的域加载 jQuery,只需执行以下操作:
<?php wp_enqueue_script('jquery'); ?>
要通过 https 从 Google 的 CDN 加载它,请执行以下操作:
<?php
function jquery_cdn() {
wp_deregister_script('jquery');
wp_register_script('jquery', '//ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js', false, null);
wp_enqueue_script('jquery');
}
add_action('wp_enqueue_scripts', 'jquery_cdn');
在上面的示例中省略“https”是故意的;它确保 jQuery 将通过与您的站点相同的协议(protocol)加载,无论是 HTTP 还是 HTTPS。
关于javascript - Gravity Forms 未在 https 下加载,未定义 jQuery,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13231712/