Se puede cargar una rutina JS mediante la propiedad del objeto responseText en la respuesta del server al cliente ?. Yo lo he intentado y creo que no me funciona.
Saludos.
| ||||
Agregar Scripts de JS en una llamada con HTTPRequest. Se puede cargar una rutina JS mediante la propiedad del objeto responseText en la respuesta del server al cliente ?. Yo lo he intentado y creo que no me funciona. Saludos.
__________________ | Cabeza De Raton | |
| |||
Verifica este POST, posiblemente te sea útil: http://www.forosdelweb.com/showpost....83&postcount=7 Saludos. |
| ||||
Bueno ... creo que es lo que estaba buscando. Ojala que funcione. Gracias por la explicacion. De paso te hago otra pregunta ... Sabes si se puede hacer algo similar pero con una hoja de esilos ? Saludos y Nuevamemte Gracias.
__________________ | Cabeza De Raton | |
| |||
Me alegro que haya servido. En cuando al style he estado probando y conseguí que funcione bien en Firefox de dos maneras distintas (asignando la respuesta del objeto ajax a la etiqueta style con innerHTML y también creando un nuevo nodo de texto al cual le coloco la respuesta del objeto y luego lo adiciono con appendChild al style), pero en IE no hay manera. Si descubro algo aviso. Saludos. |
| |||
Bueno probando y probando llegué a algo. Acá te dejo una función para traer estilos mediante AJAX multi-navegador. Usé el addRule que me enteré por ahí de su existencia en un sitio de Microsoft para hacer que todo funcione en IE y la creación de un nodo de texto que luego lo asigno al style para todos los demás navegadores. TraeStyle.php
Código:
TraeStyle2.php<html> <head> <script type="text/javascript"> if(navigator.userAgent.indexOf("MSIE")>=0) navegador=0; // IE else navegador=1; // Demas // Crear la clase AJAX con el nombre nuevoAjax function traeStyle() { ajax=nuevoAjax(); ajax.open("POST", "TraeStyle2.php", true); ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); ajax.send("trae=1"); ajax.onreadystatechange=function() { if (ajax.readyState==4) { var nuevoStyle=document.createElement("style"); document.getElementsByTagName('head')[0].appendChild(nuevoStyle); if(navegador==0) { var textoFormateado=ajax.responseText; textoFormateado=textoFormateado.split("{"); var ultimaEtiqueta=document.styleSheets[document.styleSheets.length-1]; ultimaEtiqueta.addRule(textoFormateado[0], "{"+textoFormateado[1]); } else { var texto=document.createTextNode(ajax.responseText); nuevoStyle.appendChild(texto); } } } } </script> </head> <body> <a href="javascript:traeStyle();">Trae style</a> <br> <a href="#" onClick="document.getElementById('texto').className='clase'">Ver style</a> <br> <p id="texto">Texto</p> </body> </html>
Código:
Espero te resulte útil.<?php if($_POST["trae"]==1) { echo " .clase { color:#FF0000; }"; } ?> Saludos. Última edición por zaqpz; 31/05/2006 a las 02:08 |
| ||||
Muchas gracias viejo. Lo voy a probar en cuanto pueda, y si se da, al vez se podria hacer un pequeño tutorial. Saludos y Gracias.
__________________ | Cabeza De Raton | |
| |||
No hay de que. Lo del mini tutorial es buena idea... si en algún momento quieres comenzarlo me avisas y quizá se pueda armar algo interesante y útil. Saludos! |
| ||||
Al pelo. La idea seria hacer un mecanismo en ajax para que, aparte de cargar un script en php; tambien se podria y si es el caso, cargar algunas funciones particulares de javascript y tambien algunas clases de estilo.
__________________ | Cabeza De Raton | |