【问题标题】:Blocked loading mixed active content "http://connect.facebook.net/en_US/all.js" while enable SSL website在启用 SSL 网站时阻止加载混合活动内容“http://connect.facebook.net/en_US/all.js”
【发布时间】:2014-01-23 04:33:10
【问题描述】:

我有一个带有 Facebook 共享选项的 mvc 4 应用程序(使用 nopCommerce)。上个月

我们需要在我们的网站中启用 SSL 设置。但现在我们的 Facebook 分享选项是

在网站上无法正常工作。我在 firefox 浏览器中使用 firebug 来检查确切的错误

消息。

我已经将我的 HTML 中的所有 HTTP 替换为 HTTPS。但萤火虫在每个

中都显示 HTTP

时间。请参阅下面的脚本。

<script type="text/javascript" src="https://s7.addthis.com/js/250/addthis_widget.js#pubid=nopsolutions"></script>
<script src="https://connect.facebook.net/en_US/all.js"></script>
<script>
FB.init({
    appId: 'XXXXXXXXXXXXXXX',
    cookie: true,
    status: true,
    xfbml: true
});

function FacebookInviteFriends() {

    FB.ui({
        method: 'apprequests',
        message: 'Test message content.',

    });
}
function callback(response) {
    // response.to now contain array of invited users ids
    console.log('Invited friends ids', response.to);
    if (response.request) {
        console.log('Efficient Request id', response.request);
    } else {
        console.log('Requests Ids', response.request_ids);
    }
}

火狐的来源

同时 twitter 在 https 中运行良好。

我不知道萤火虫中的脚本引用在哪里。请帮忙。

【问题讨论】:

  • 我知道这很明显,但请确保您的页面没有缓存奇怪的东西。检查 DOM 上的实际代码,看看 src 是否实际设置为 https 而不是 http。通过单击控制台中的 HTML 或仅检查页面上的元素来执行此操作。
  • 但我正在查看整个项目,我没有看到任何 http 链接都是 https。
  • 是的。只需在浏览器中检查页面即可。右键单击并单击inspect with firebug 或其他任何内容。查看头部,看看它是否显示 https 而不是 http
  • 我在 html 源代码中更新了我的问题,它显示为 http。
  • 您正在使用许多代码图像。没有理由拍摄它们,裁剪它们,然后上传它们。只需将代码复制到代码块中即可。它使阅读更容易。您也可以对错误执行相同的操作,但这不是什么大问题。

标签: c# javascript jquery facebook ssl


【解决方案1】:

在您最近的更新中,我看到 http 仍在使用中,即使您已在代码中将其更改为 https。您很可能只需要清除缓存。在 Firefox 中,您必须:

click on the Firefox menu on the menu bar and select Preferences
Select the Advanced panel
Click on the Network tab
In the Cached Web Content section, click Clear Now

浏览器会缓存页面,因此它不必每次访问该页面时都访问服务器。旧的 html 文件被缓存,新的修订没有被加载。如果清除缓存不起作用,请告诉我,我会寻找其他解决方案。

另一个解决混合 http 和 https 问题的好方法是将它们放在一起。如果您只使用src="//s7.addthis.com/js/250/addthis_widget.js#pubid=nopsolutions",它将匹配页面设置的内容,因此如果您在https://youriste.com,它将默认为https://s7.addthis.com/js/250/addthis_widget.js#pubid=nopsolutions"

【讨论】:

  • 另外...这更明显,但请确保将文件保存到正确的位置。确保您正在编辑文件并将它们保存在现有文件之上,而不是其他地方。这是非常基本的东西,但我们都会犯错误。如果这不能解决您的问题,请告诉我。
  • 非常感谢您的宝贵回复。我试试这种方式。我应该通知你。再次表示感谢。
  • 我清除了 Firefox 浏览器中的缓存 Web 内容。但同样的问题又来了。我再次检查了我的网页来源,但参考链接来自 http。
  • 嗨,我有同样的情况,我也清除了缓存,但我遇到了同样的问题。
  • @DutGRIFF 非常感谢您的大力帮助。你是对的。问题是我们的 facebook 共享屏幕是单独的部分视图。我们将其用作弹出窗口。我们将此部分视图文件放在 Views/Shared 文件夹中,并在另一个控制器视图中调用此视图文件(控制器名称为 CheckOutController )。它在我们的本地主机中正常工作,但是当我们在实时 IIS 中上传此代码时,我们需要移动此部分视图到 Views/CheckOut 文件夹。我忘记了这件事。我们总是将更改上传到此共享文件夹。忘记更改 Views/CheckOut 文件夹中的局部视图。
猜你喜欢
  • 2017-05-12
  • 2014-01-03
  • 1970-01-01
  • 2017-01-23
  • 2015-12-12
  • 2018-07-30
  • 2015-10-11
  • 2018-12-04
  • 1970-01-01
相关资源
最近更新 更多