如何在HTTPS站点上使用Stumbleupon徽章?

时间:2017-11-22 21:41:47

标签: javascript ssl https mixed-content stumbleupon

我正在尝试将Stumbleupon徽章添加到我们的网站,尽管Stumbleupon似乎不支持使用其CSS的HTTPS。

使用此处的Stumbleupon Discovery工具,我选择任何徽章: https://www.stumbleupon.com/dt/badges/create

然后我提供了徽章代码,如下所示:

<!-- Place this tag where you want the su badge to render -->
<su:badge layout="2"></su:badge>

<!-- Place this snippet wherever appropriate -->
<script type="text/javascript">
  (function() {
    var li = document.createElement('script'); li.type = 'text/javascript'; li.async = true;
    li.src = ('https:' == document.location.protocol ? 'https:' : 'http:') + '//platform.stumbleupon.com/1/widgets.js';
    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(li, s);
  })();
</script>

尝试加载此代码时,会将徽章显示为未固定列表。 通过研究代码,似乎加载的JavaScript文件调用CSS加载位置调用此文件: http://cdn.stumble-upon.com/css/badges_su.css?v=20120613

由于JavaScript文件是外部的,因此无法将CSS强制为HTTPS。

由于我们在https://上加载我们的网站,因此在不允许混合内容的浏览器上自动阻止从http://加载的任何文件。

我联系了Stumbleupon,他们显然已经意识到这个问题,并且不打算解决它。 (他们似乎不想设置SSL)

是否还有其他人遇到过这种带徽章的混合内容问题,如果是这样,有人找到了解决方法吗? (首选代码解析不是插件)

1 个答案:

答案 0 :(得分:1)

我使用的是支持HTTPS的链接Shortener,例如https://goo.gl/,但我从未使用徽章测试过。