disqus如何运作?

时间:2010-03-10 07:43:32

标签: javascript ajax xss

有谁知道disqus是如何运作的?

它管理博客上的评论,但评论都在第三方网站上进行。看起来像是整洁地使用跨站点通信。

7 个答案:

答案 0 :(得分:8)

使用的一般模式是JSONP

它实际上以相当复杂的方式实现(至少在jQuery站点上)......他们推迟加载disqus.js和thread.js文件,直到用户滚动到评论部分。

thread.js文件包含注释的json内容,这些内容在加载后呈现在页面中。

答案 1 :(得分:2)

在向网站添加Disqus评论时,您有三种选择:

集成解决方案的主要优点是易于设置。例如,对于WordPress,它就像激活插件一样简单。

能够直接与API通信非常有用,并且与其他选项相比具有两个优势。首先,它使您可以作为开发人员完全控制标记。其次,您可以处理服务器端的注释,这可能更合适。

答案 2 :(得分:2)

看起来像是使用easyXDM库,它使用当前浏览器的最佳可用方式与其他网站进行通信。

答案 3 :(得分:2)

引用Anton Kovalyov(在Disqus的前工程师)answer对另一个对我有帮助的网站上的同一个问题:

  

Disqus是一个第三方JavaScript应用程序,它在您的浏览器中运行并在发布者的网站上注入。这些发布者需要安装一小段JavaScript代码,这些代码向我们的服务器发出第一个请求并加载初始JavaScript加载器。然后,此加载器将创建所有必需的iframe元素,从我们的服务器获取数据,呈现模板并将结果注入页面上的某个元素。

     

正如您可能猜到的那样,有很多不同的技术支持看似简单的操作。在后端,您必须运行并扩展一个巨大的Web应用程序,该应用程序服务于数百万个请求(主要是读取)。我们使用Python,Django,PostgreSQL和Redis(用于我们的实时服务)。

     

在前端,您必须最大限度地减少您的负载,确保您的应用程序超级快速,并且它不会在极端恶劣的环境中中断(您会惊讶于发布商网站如何搞砸了)。跨域通信 - 从主机网站向您的服务器发送消息的能力 - 也很棘手。

     

不幸的是,无法解释Quora评论中的一切是如何运作的,甚至在文章中也是如此。因此,如果您对Disqus的后端方面感兴趣,那么只需学习如何编写,运行和运行高度可扩展的网站,您就会变得更加精彩。如果你对前端方面感兴趣,Ben Vinegar和我(都是Disqus的前端工程师)写了一本关于第三方JavaScript(http://thirdpartyjs.com/)主题的书。

我打算阅读他提到的那本书,我想这会很有帮助。

这里还有一个link对于这个问题在Disqus网站上的官方回答。

答案 4 :(得分:0)

简短回答? AJAX,您可以通过javascript获得自己的网址,例如“site.com/?comments=ID”...但是如果您需要实时更新,则需要使用投票服务器。

答案 5 :(得分:0)

我认为他们会将内容保留在他们的网站上,而您的网站只会发送&从disqus接收数据。现在我想知道如果您决定将评论带入内部而不会丢失所有现有评论会发生什么!我想知道你的数据有多容易?他们声称数据属于您,但他们可以控制数据,并且他们的网站上没有太多关于此的解释。

答案 6 :(得分:0)

我总是在disqus平台上发表评论。有时,一旦你刷新它就会删除评论,有时它不会。我认为被删除的那个是在没有说出来的情况下进行审核。