阻止加载混合活动内容“http://connect.facebook.net/en_US/all.js”,同时启用SSL网站

时间:2014-01-23 04:33:10

标签: c# javascript jquery facebook ssl

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

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

在网站上无法正常工作。我在firefox浏览器中使用firebug以确定错误

消息。

enter image description here

我已经在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);
    }
}

Firefox的来源

enter image description here

同时Twitter在https中运行良好。

enter image description here

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

1 个答案:

答案 0 :(得分:2)

根据您最近的更新,我发现即使您已在代码中将其更改为httphttps仍在使用中。您很可能只需要清除缓存。在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"