hola, tengo un problema y me gustaria ver si me pueden ayudar.
Necesito ajustar el width de un div, mediante el atributo style, segun el anchio de la resolucion del monitor. Hasta donde se no hay una forma de hacerlo en Php pero si encontre una forma de averiguar dicho valor utilizando un script. Mi idea es la de utilizar dicho valor que arroja el script y embeberlo dentro del codigo php. Y esto es lo que no estoy muy seguro de como hacerlo, porque le he buscado la buelta y nada, no hay forma de darle en el punto.
Antes que me tiren con palos aclaro porque necesito esto. Es necesario que dependiendo del navegador que utiliza el visitante y en funcion de la configuracion de su monitor este width del div tome un valor diferente. Esto es para solucionar un corrimiento que se da en la cabecera de una pagina que usa marcos. Acloro que yo no hubiera usado el marco antes de que me digan no lo uses, el cliente lo quiere asi. en fin. Aca va el codigo para ver si me pueden ayudar.
El script que saca la resolucion del monitor (va en la cabecera):
Código HTML:
<script language='JavaScript1.2' type='text/javascript'> function sacar_resolucion { var ancho == (screen.width); } </script>
El Php que muestra el flash de la cabecera:
Código PHP:
<?php
/////////////// correccion del corimiento de la cabecera. Según sea o no el explorer se dibuja uno u otro stylo. /////////////
if (ereg("MSIE 6.0" || "MSIE 7.0" , $_SERVER['HTTP_USER_AGENT'])){ // Hay que buscar la forma de que el ancho que aqui se ve de 1280px (width:1280px) sea igual al del ancho de la resolucion del monitor. Para esto se puede utilizar el script que se ve en la cabecera. Si se puede tomar dicho valor de la funcion "sacar_resolucion" y utilizarlo para asignarle a este ancho dentro de la etiqueta style del div, todo funcionara perfectamente. Le busque la buelta pero se muy poco de como embeber codigo de script dentro de php y no pude hacerlo quedar bien. Se puede hacer un echo como el siguiente para cada navegador. Esto seria lo ideal, pero de todas formas con estos 2 alcanzara. al menos eso creo. En el Explorer 7 esta funcionando bien. El left de -10 que se ve despues del valor de z-index es el corrimiento que se hace para que la cabecera quede alineada con el body. Es el valor que hay que modificar segun cada navegador.*/
/* IMPORTANTE: si no se puede sacar la resolucion del monitor para utilizarla como el width del div nada de esto funcionara */
echo "<div style='z-index: 1000; left: -10px; position: absolute; top: 0px; width:1280px' align='center'>
<table width='759' height='100' border='0' align='center' cellpadding='0' cellspacing='0'>
<tr>
<td width='20' height='175' align='center' valign='top' background='imagenes/border_lateral_izquierdo.jpg'><img src='imagenes/border_lateral_izquierdo.jpg' width='20' height='2'></td>
<td width='719' align='center' valign='top'>
<object classid='clsid:D27CDB6E-AE6D-11cf-96B8-444553540000' codebase='downloadmacromedia/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0' width='719' height='175'>
<param name='movie' value='imagenes/flash/cabecera.swf'>
<param name='quality' value='high'>
<embed src='imagenes/flash/cabecera.swf' quality='high' pluginspage='macromedia/go/getflashplayer' type='application/x-shockwave-flash' width='719' height='175'></embed>
</object>
</td>
<td width='20' align='center' valign='top' background='imagenes/borde_lateral_derecho.jpg'><img src='imagenes/borde_lateral_derecho.jpg' width='20' height='2'></td>
</tr>
</table>
</div>";
}
else {
echo "<div style='z-index: 1000; left: -10px; position: absolute; top: 0px; width:1280px' align='center'>
<table width='759' height='100' border='0' align='center' cellpadding='0' cellspacing='0'>
<tr>
<td width='20' height='175' align='center' valign='top' background='imagenes/border_lateral_izquierdo.jpg'><img src='imagenes/border_lateral_izquierdo.jpg' width='20' height='2'></td>
<td width='719' align='center' valign='top'>
<object classid='clsid:D27CDB6E-AE6D-11cf-96B8-444553540000' codebase='downloadmacromedia/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0' width='719' height='175'>
<param name='movie' value='imagenes/flash/cabecera.swf'>
<param name='quality' value='high'>
<embed src='imagenes/flash/cabecera.swf' quality='high' pluginspage='macromedia/go/getflashplayer' type='application/x-shockwave-flash' width='719' height='175'></embed>
</object>
</td>
<td width='20' align='center' valign='top' background='imagenes/borde_lateral_derecho.jpg'><img src='imagenes/borde_lateral_derecho.jpg' width='20' height='2'></td>
</tr>
</table>
</div>";
}
///////////////////////////////////////////////////////////////////////////////////////
/* CON LOS VALORES ACTUALES DEL DIV FUNCIONA BIEN PARA 1280X1024 */
/* SI SE LOGRA UTILIZAR EL VALOR SACADO CON EL SCRIPT PARA DICHO VALOR FUNCIONARA EN CUALQUIER RESOLUCION DE MONITOR*/
/// SUERTE ////////////////////////////////////////////////////////////////////////////////////////
?>
Desde ya muchas gracias, por la ayuda.