为什么Addthis共享按钮没有服务器?

时间:2012-10-01 16:13:14

标签: javascript jquery html share addthis

这是我的Addthis代码:

 <script type="text/javascript" src="addthis_widget.js"></script>
 <script type="text/javascript">
      var addthis_config = {
           services_expanded: 'facebook, twitter'
 }
 </script>

 <a addthis:services_compact="facebook,twitter" addthis:services_expanded="facebook,twitter" addthis:url="#" class="addthis_button" href="#"><img id="btn_share" name="btn_share" style="cursor:pointer;" src="path to image" alt="Share" /></a>

如果我将此Addthis代码放在简单的HTML文件中并尝试运行任何服务器,例如在我的情况下,我正在使用Apache。并尝试从浏览器通过localhost / myaddthis.html运行,而不是它的工作正常(显示正确的弹出窗口,以分享Facebook和Twitter的特定链接)。

但问题是:当我尝试在浏览器中直接运行简单的html文件时,它只是显示图像,不显示正确的addthis共享弹出窗口。

这只是一个简单的.HTML文件(文件中没有服务器端代码),而不是没有服务器的情况下运行的原因。

我想在没有服务器的情况下使用此代码。我是怎么做到的?

3 个答案:

答案 0 :(得分:3)

您可能通过将其打开为本地文件而不是从Web服务器加载来查看您的页面。因此,不是浏览器中以http://开头的页面的URL,而是以C:\或file://

开头

以下是通过http:// - http://i.imgur.com/IDGUD.png

查看时AddThis按钮的外观

这是使用file:// - http://i.imgur.com/gpCco.png

查看的同一文件

我们目前在我们的代码中使用无协议的URL - 以//而不是http://或https://开头的 - 以确保我们的SSL实现交叉兼容而无需额外的工作。但是,如果您使用file://协议加载测试页面,则会导致CSS和其他JavaScript文件无法加载,因为它在本地计算机而不是我们的Web服务器上查找它们。

我已经向我们的开发人员提交了一张故障单来修复这个问题,以便人们使用他们的文件系统而不是Web服务器预览页面,但是直到他们能够实现这一点,您应该明白如果使用按钮将不会显示file:// protocol或使用Web服务器来测试您的网站在浏览器中的显示方式。

答案 1 :(得分:1)

我认为这是正常的,因为AddThis是在社交网站上分享内容。 如果您不在服务器上,则无法共享内容,因为它是本地文件。

可能在addThis代码中检查服务器。如果它不是服务器,则不必共享。

如果你问我这是常识,但我可能是错的。

答案 2 :(得分:1)

Addthis将检查当前网址 - http://localhost/etc.是有效位置,但file://path/to/yourfile.html不是。