当我们添加http://platform.twitter.com/widgets.js
时,我在网站上的HTTPS服务网页上遇到混合内容的小问题显然Twitter没有有效的证书 - 但希望我错了。
你们有没有解决问题的方法。我在这里和谷歌搜索了一个相关的问题,并找到了:
建议?
更新
请参阅下面接受的答案的决议。
答案 0 :(得分:6)
此前所说的一切都不再适用。主要罪魁祸首是来自Twitter的widgets.js
文件,现在通过HTTPS提供有效证书。
亲眼看看:https://platform.twitter.com/widgets.js
换句话说,您现在可以通过HTTPS使用Twitter按钮而不会出现任何问题!
答案 1 :(得分:4)
除非Twitter更改其JS文件位置,否则使用PHP的解决方法更容易,不需要维护。
在JS文件夹中创建一个名为twitter.platform.js.php的PHP文件或类似的东西。将以下内容粘贴到文件中。
<?php
header('Content-type: text/javascript');
echo file_get_contents('http://platform.twitter.com/widgets.js');
?>
然后包含PHP脚本而不是Twitter的JS。
<script type="text/javascript" src="/location/to/js/twitter.platform.js.php"></script>
上面的代码将从他们的服务器中提取Twitter的非安全JS,并将输出呈现为JavaScript,并允许您在没有警告的情况下通过SSL提供服务,因为它将来自您的网站。
更新:正如@ paul-mcmahon在评论中提到的,当使用Twitter关注按钮时,上述解决方法会导致SSL错误。
答案 2 :(得分:3)
遇到同样的问题。
能够通过制作我自己的javascript弹出窗口并手动传递参数来解决它。不依赖于任何外部Twitter的东西。
您必须下载推文按钮图像并将其本地保存在您自己的服务器上。
<a href="#" onclick="window.open('http://twitter.com/share?text=your%20tweet&url=yoururl.com','Tweeter','menubar=no,width=550,height=450,toolbar=no'); return false;"><img src="/images/tweet.png"></a>
如果需要,您可以使用类似的内容对tweet和url的文本进行编码: http://meyerweb.com/eric/tools/dencoder/
以下是您可以传递到该网址的参数的说明: http://dev.twitter.com/pages/tweet_button#properties
答案 3 :(得分:1)
我设法通过查看https://dev.twitter.com
上的关注按钮背后的代码来解决这个问题您不需要包含http://platform.twitter.com/widgets.js。 在您想要“关注”按钮的位置,只需输入以下内容:
<iframe src="https://dev.twitter.com/widgets/follow_button_dtc.html#_=YOUR_TWITTER_ID&align=&button=blue&id=twitter_tweet_button_0&lang=en&link_color=0080A6&screen_name=YOUR_TWITTER_HANDLE&show_count=false&show_screen_name=&text_color=999999" allowtransparency="true" frameborder="0" scrolling="no" class="twitter-follow-button" style="width: 300px; height: 20px; " title=""></iframe>
这使您可以使用https Twitter关注按钮而不显示混合内容消息。
答案 4 :(得分:0)
来自 miloops 的这个脚本应该提供Twitter SSL支持 WITH Tweet-Count支持。
http://miloops.com/post/8138215285/implementing-ssl-tweet-button
但我仍然收到混合内容警告,因为它仍会从Twitter加载<iframe>
,然后加载不安全的内容。 : - (
答案 5 :(得分:0)
此类问题的一个好方法是将http:
或https:
保留在所包含内容的src
或href
属性之外。通常,浏览器可以确定使用哪种协议。
在您的情况下,您可以使用//platform.twitter.com/widgets.js
作为文件的网址,因为Twitter通过https
提供服务。