¿Cómo verificar el ancho y la altura del html DIV en el lado del servidor?

StackOverflow https://stackoverflow.com/questions/1652903

  •  22-07-2019
  •  | 
  •  

Pregunta

Me preguntaba si es posible verificar el ancho y la altura de un DIV en el lado del servidor (PHP) sin ejecutar ningún navegador.

Parece que no es posible sin escribir un analizador, que no vale la pena.

Una forma de Rube Goldberg que se me ocurre es convertir ese DIV en html (usando html tidy), luego en PDF y luego obtener el tamaño. Altamente ineficiente. Incluso en ese caso, no estoy seguro de cómo configurar el tamaño de página PDF.

El verdadero problema práctico es que quiero confirmar el tamaño de los anuncios creados en el lado del cliente. Los usuarios pagan solo en función del tamaño. ¿Cuáles podrían ser formas alternativas de verificar las dimensiones? ¿Google y adready (www.adready.com) ya no hacen algo como esto?

Editado: estos anuncios están basados ??en plantillas y el cliente cambia solo unas pocas variables de TEXTO.

¿Fue útil?

Solución

Definitivamente no es posible. Hay una gran cantidad de configuraciones del lado del cliente que influyen en las formas en que se representa una página que no puede controlar. Lo único que puede hacer es utilizar un servicio como BrowserShots ( http://browsershots.org ) para hacer capturas de pantalla de qué sus sitios se ven en los navegadores más comunes.

Editar: lo que usted podría hacer, pensándolo bien, es escribir un JavaScript que determine el tamaño de los elementos, lo que es bastante fácil utilizando un marco de navegador cruzado como un prototipo usando .getDimensions () - y envía esos datos de vuelta al servidor usando Ajax. Tendría que generar una identificación única para identificar los callcacks, pero esta debería ser una buena manera. Parece un poco exagerado usar esto en un entorno de producción, pero hay muchos más Javavascripts que consumen recursos integrados en los sitios todos los días.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top