2010-03-10 13 views
9

¿Alguien sabe cómo funciona disqus?¿Cómo funciona Disqus?

Gestiona los comentarios en un blog, pero los comentarios se llevan a cabo en el sitio de un tercero. Parece un buen uso de la comunicación entre sitios.

Respuesta

8

El patrón general que se utiliza es JSONP

Su llevan a la práctica de una manera bastante sofisticada (por lo menos en el sitio de jQuery) ... que aplazar la carga de los archivos disqus.js y thread.js hasta que el usuario se desplaza a la sección de comentarios.

El archivo thread.js contiene contenido json para los comentarios, que se procesan en la página una vez cargados.

+7

JSONP podría usarse para cargar los comentarios, pero toda la interacción con el área de texto de entrada se hace usando easyXDM. –

0

¿Respuesta corta? AJAX, obtienes tu propia URL, por ejemplo, "site.com/?comments=ID" incluida a través de javascript ... pero con actualizaciones en tiempo real como esas necesitarías un servidor de sondeo.

+0

Sí. ¿Pero cómo funciona la publicación? ¿Está envolviendo un iframe (estilo FB-connect)? –

+0

@Toby Hede: Sí, consulte cualquier sitio que use Disqus e inspeccione el elemento textarea. Está ubicado dentro de un iframe que apunta a su-site-name.disqus.com. – treeface

3

tiene tres opciones cuando se añade al comentar Disqus a un sitio:

La principal ventaja de las soluciones integradas es que son fáciles de configurar. En el caso de WordPress, por ejemplo, es tan fácil como activar un complemento.

Tener la capacidad de comunicarse directamente con la API es muy útil, y ofrece dos ventajas sobre las otras opciones. En primer lugar, le otorga a usted, como desarrollador, el control total del marcado. En segundo lugar, puede procesar los comentarios del lado del servidor, lo que puede ser preferible.

+1

Estaba buscando más información técnica sobre cómo hacen lo que hacen, para un proyecto con algunos requisitos similares. –

0

Creo que mantienen el contenido en su sitio y su sitio solo enviará & recibir los datos a/desde disqus. Ahora me pregunto qué pasará si decides que quieres llevar tus comentarios a casa sin perder todos los comentarios existentes. ¿Qué tan fácil llegarías a tus datos, me pregunto? Ellos afirman que los datos le pertenecen, pero tienen el control sobre ellos, y no hay mucha explicación sobre esto en su sitio.

+0

Una cosa más que agrego: si usa sus API para buscar los comentarios y luego mostrarlos, entonces puede hacer que sea amigable con el SEO, ya que los motores de búsqueda pueden detectarlo. Si dejas que su JS lleve los comentarios a tus páginas, es posible que no sean optimizados para los motores de búsqueda, ya que los robots de búsqueda generalmente no pueden realizar llamadas AJAX. (según la chica tecnológica de Google en youtube). La ventaja de utilizar AJAX es que a su servidor no le importa el rendimiento de Disqus, y sus páginas se cargan bastante rápido. – un33k

1

Parece que usando la biblioteca easyXDM, que utiliza la mejor manera disponible para que el navegador actual se comunique con otro sitio.

0

Siempre dejo el comentario en la plataforma de disqus. Algunas veces, el comentario parece ser eliminado una vez que lo actualizaste y otras veces no. Creo que el que se eliminó se mantiene por moderación sin decirlo.

1

Citando (ex ingeniero de Disqus) de Anton Kovalyov answer a la misma pregunta en un sitio diferente que era muy útil para mí:

Disqus es una aplicación JavaScript terceras partes que se ejecuta en el navegador e inyecta en los sitios web de los editores. Estos editores deben instalar un pequeño fragmento de código JavaScript que haga la primera solicitud a nuestros servidores y cargue el cargador inicial de JavaScript. Este cargador crea todos los elementos iframe necesarios, obtiene los datos de nuestros servidores, procesa plantillas e inyecta el resultado en algún elemento de la página.

Como probablemente adivine que hay bastantes tecnologías diferentes que admiten lo que parece ser una operación simple. En el back-end, tiene que ejecutar y escalar una aplicación web gigantesca que atiende millones de solicitudes (principalmente leídas). Usamos Python, Django, PostgreSQL y Redis (para nuestro servicio en tiempo real).

En el front-end debe minimizar su carga útil, asegurarse de que su aplicación sea súper rápida y que no se rompa en entornos extremadamente hostiles (se sorprenderá de cuán atormentados pueden ser los sitios web de los editores). La capacidad de comunicación entre dominios para enviar mensajes desde el sitio web de alojamiento a tus servidores también puede ser complicado.

Desafortunadamente, es imposible explicar cómo funciona todo en un comentario sobre Quora, o incluso en un artículo. Entonces, si está interesado en el lado de Back-end de Disqus, solo aprenda cómo escribir, ejecutar y operar sitios web altamente escalables y será un placer. Y si está interesado en el lado del front-end, Ben Vinegar y yo (ambos ingenieros front-end de Disqus) escribimos un libro sobre el tema llamado JavaScript de terceros (http://thirdpartyjs.com/).

Estoy pensando en leer el libro que mencionó, supongo que será bastante útil.

También hay un link a la respuesta oficial a esta pregunta en el sitio de Disqus.

Cuestiones relacionadas