重力形式未在https下加载,jQuery未定义

时间:2012-11-05 09:43:28

标签: javascript jquery forms wordpress ssl

我在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

错误的屏幕截图:

enter image description here

此屏幕截图是页面来源中的引用:

enter image description here

所以我被告知我想要研究那个 - 最终问题在哪里,但我真的不知道下一步该做什么。

是否因为Gravity Forms,WordPress的HTTPS插件或我的SSL证书而失败?

1 个答案:

答案 0 :(得分:4)

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');

省略&#39; https&#39;在上面的例子是故意的;它确保jQuery将通过与您的站点相同的协议加载,无论是HTTP还是HTTPS。