【发布时间】:2012-10-25 06:22:19
【问题描述】:
我在我的 WordPress 网站上使用 Gravity Forms 插件。我通过 HTTPS 提供页面,这破坏了表单。
看起来问题在于该站点如何尝试加载 jQuery。页面上有 23 个 JavaScript 错误,这似乎是由于 jQuery 加载失败"Uncaught ReferenceError: jQuery is not defined"。
如果我转到源试图提取 jQuery 文件的页面,你会看到 error:https://code.jquery.com/jquery-1.7.1.min.js?ver=3.4.2
错误截图:
而这个截图是页面源码中的参考:
所以有人告诉我我想调查一下——这就是最终问题所在,但我真的不知道下一步该做什么。
失败是因为 Gravity Forms、WordPress 的 HTTPS 插件还是我的 SSL 证书?
【问题讨论】:
-
jQuery 内容交付网络不支持 https。您需要从 Google 或 Microsoft CDN 加载 jQuery,而 do support https. 您如何做到这一点取决于哪个脚本从
code.jquery.com请求文件。它是由您的主题文件之一或您的插件之一请求的吗? (您可以对 wp-content 文件夹进行全文搜索以查找“code.jquery.com”。) -
嘿,谢谢你这么快就给我指出了正确的方向!我刚刚安装了一个允许我选择 CDN 的 Wordpress 插件。 wordpress.org/extend/plugins/wp-jquery-cdn/installation 但是还是不行,而且如果我查看源代码,它仍然在请求 code.jquery 而不是 google,所以我猜它一定是插件,对吧?非常感谢您的帮助!
-
我终于在functions.php文件中将URL改成了Google的CDN。现在它正在请求正确的 CDN 并完美运行。感谢您的帮助伙伴!
-
我已经发布了我的评论作为答案,展示了如何通过 HTTPS 包含 jQuery。使用
wp_enqueue_script函数尤为重要,这样如果其他文件或插件使用它,您最终不会包含两次或更多 jQuery。
标签: javascript jquery forms wordpress ssl