Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

344
Views
¿Cómo ocurre la vista previa del enlace de Facebook?

Cuando escribes una URL en Facebook, aparece automáticamente la función "publicar un enlace". Con la mayoría de los sitios web, carga automáticamente una selección de imágenes que extrae de algún lugar de la página para acompañar el enlace y la descripción. ¿Alguien tiene una idea de cómo implementar esa misma función para nuestro propio sitio sin ninguna API de FB, etc., solo javascript o JQuery?

over 4 years ago · Santiago Trujillo
3 answers
Answer question

0

Debido a restricciones de seguridad, JavaScript no puede cargar ninguna página desde ningún servidor. Facebook en realidad solicita a los servidores de Facebook información sobre esa página, y los servidores, a su vez, consultan la página para extraer la información. Usted también necesitará una implementación del lado del servidor de esto.

Aparte de eso, es bastante simple: use una biblioteca de cliente HTTP para el idioma de su elección para conectarse a la URL provista, luego use una biblioteca de análisis de HTML para extraer la etiqueta del title , identifique una parte significativa del texto en la etiqueta del body y extraiga las fuentes de etiquetas img que parecen más apropiadas.

Una vez que su servidor puede extraer información sobre una página, es un ejercicio bastante simple llamarlo a través de AJAX.

over 4 years ago · Santiago Trujillo Report

0

@Keshan.

Desarrollé una vista previa de enlace de Facebook con PHP y jQuery que está en mi sitio web. Échale un vistazo... El código fuente es gratis... No puse el código completo aquí porque son muchos archivos... Pero si prefieres que el código sea puesto aquí, dímelo y lo publico.

Está disponible en Github https://github.com/LeonardoCardoso/Facebook-Link-Preview

Vista previa del enlace de Facebook - PHP + jQuery

over 4 years ago · Santiago Trujillo Report

0

Creo que los siguientes pasos están involucrados

  • Usando Javascript encuentra los enlaces en el texto escrito
  • De los enlaces encontrados, obtenga el último enlace en el texto (FB muestra solo el último enlace)
  • Usando AJAX, envíe este detalle de enlace a una página del lado del servidor (PHP/ASP/JSP, etc.)
  • La página del lado del servidor obtiene los datos necesarios (de las metaetiquetas), incluidos
    • Título (Preferiblemente Abrir gráfico og:title si falta en <title>
    • Descripción (Preferiblemente Abrir gráfico og:description si falta en <meta name="description" ....
    • Imágenes (preferiblemente Abra el gráfico og:image si falta en <img src=....
  • En PHP, puede obtener estos datos usando curl o file_get_contents y analizar los datos requeridos detallados anteriormente. No estoy seguro acerca de otro idioma.
  • Muestre el resultado así encontrado en la solicitud AJAX.

Además, creo que FB almacena los datos, una vez encontrados, en la base de datos y las primeras consultas allí. Esto les ayuda a obtener resultados más rápidos y, por lo tanto, compartir el mismo artículo y generar la imagen y los detalles a partir de los datos almacenados.

Necesitará Javascript para mostrar esta vista previa en tiempo de ejecución (mientras escribe en el área de texto). Sin embargo, si solo lo necesita después de publicar los datos, puede hacerlo con lenguaje puro del lado del servidor (puede evitar javascript) y siguiendo los pasos anteriores simplemente elimine la llamada AJAX.

over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!