Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript discs是如何工作的?_Javascript_Ajax_Xss - Fatal编程技术网

Javascript discs是如何工作的?

Javascript discs是如何工作的?,javascript,ajax,xss,Javascript,Ajax,Xss,有人知道如何工作吗 它管理博客上的评论,但评论都保存在第三方网站上。似乎是跨站点通信的一种巧妙使用 简短的回答?AJAX,您可以通过javascript获得自己的url,例如“site.com/?comments=ID”。。。但是如果有这样的实时更新,您将需要一个轮询服务器。在向站点添加Discus评论时,您有三个选项: 使用其中一种(支持WordPress、Blogger、Tumblr等) 使用 编写自己的代码与 集成解决方案的主要优点是易于设置。例如,在WordPress的例子中,它就像

有人知道如何工作吗


它管理博客上的评论,但评论都保存在第三方网站上。似乎是跨站点通信的一种巧妙使用

简短的回答?AJAX,您可以通过javascript获得自己的url,例如“site.com/?comments=ID”。。。但是如果有这样的实时更新,您将需要一个轮询服务器。

在向站点添加Discus评论时,您有三个选项:

  • 使用其中一种(支持WordPress、Blogger、Tumblr等)
  • 使用
  • 编写自己的代码与
集成解决方案的主要优点是易于设置。例如,在WordPress的例子中,它就像激活一个插件一样简单


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

使用的一般模式是

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


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

我认为他们会将内容保留在自己的网站上,而您的网站只会向Discus发送和接收数据。现在,我想知道,如果您决定在不丢失所有现有评论的情况下将您的评论带到内部,会发生什么!。我想知道你的数据有多容易获取?他们声称数据属于你,但他们有控制权,在他们的网站上对此没有太多解释。

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

我总是在网站平台上留下评论。有时,一旦你刷新了评论,它似乎会被删除,有时则不会。我认为被删除的那一个是为了缓和而保留的,没有说出来。

引用安东·科瓦廖夫(Anton Kovalyov)(前Disqs工程师)在另一个网站上对同一个问题的回答,这个问题对我真的很有帮助:

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

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

在前端,你必须最小化你的负载,确保你的应用程序速度超快,并且在极端恶劣的环境中不会崩溃(你会惊讶于出版商网站的糟糕程度)。跨域通信能力,以发送邮件从托管网站到您的服务器也可能是棘手的

不幸的是,在对Quora的评论中,甚至在一篇文章中,都无法解释一切是如何运作的。因此,如果你对Disqs的后端感兴趣,只要学习如何编写、运行和操作高度可扩展的网站,你就会获得成功。如果你对前端感兴趣,Ben醋溜和我(都是Disqs的前端工程师)写了一本关于第三方JavaScript()的书

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


这也是Disqus网站上对这个问题的官方回答。

是的。但是发帖是如何工作的呢?它是否包装了一个iframe(FB连接风格)?@Toby Hede:是的,检查任何使用Discus的站点并检查textarea元素。它位于一个iframe中,指向你的网站名.discus.com。我更多地是从技术角度来了解他们是如何为一个有类似需求的项目做这些事情的。我补充的一点是:如果你使用他们的API获取评论,然后显示它,然后,你可以使其搜索引擎优化友好的搜索引擎能够拿起这一点。如果你让他们的JS将评论拉到你的页面上,那么这可能不利于SEO,因为搜索机器人通常无法控制AJAX调用。(根据youtube上谷歌的techie girl)。使用AJAX的优点是,您的后端将不关心Discus的性能,并且您的页面加载速度非常快。JSONP可以用来加载注释,但是与输入文本区域的所有交互都是使用easyXDM完成的。