Foros del Web » Programando para Internet » Javascript »

Crear <link> en el <head> vía JS

Estas en el tema de Crear <link> en el <head> vía JS en el foro de Javascript en Foros del Web. Hola a todos en el foro. Estoy trabajando en un sitio hecho con PHP-nuke. Mi cliente quiere que inserte en una página en particular (el ...
  #1 (permalink)  
Antiguo 29/04/2009, 22:24
 
Fecha de Ingreso: diciembre-2002
Ubicación: ciudad de México
Mensajes: 19
Antigüedad: 21 años, 5 meses
Puntos: 0
Crear <link> en el <head> vía JS

Hola a todos en el foro.

Estoy trabajando en un sitio hecho con PHP-nuke. Mi cliente quiere que inserte en una página en particular (el sitio tiene más de 1000 páginas) un formulario, con un diseño (CSS) muy particular y muy diferente a todo el sitio.

Como es de suponer, el header del sitio se incluye via PHP y este a su vez carga las hojas de estilo para todo el sitio.

Aque se me ocurrió que podría insertar javascript en ésta página en particular, justo antes del print'...'; que me va a desplegar el formulario en HTML. La idea es que éste código escriba en el header un nuevo <link> que a su vez mande llamar a la hoja CSS que necesito para dar estilo al formulario.

Pero no sé cómo hacerlo y no encuentro mucho en la Red. Encontré una solución pero no funcionó:

<script type="text/javascript">
var headID = document.getElementsByTagName("head")[0];
var cssNode = document.createElement('link');
cssNode.type = 'text/css';
cssNode.rel = 'stylesheet';
cssNode.href = 'styleNew.css';
cssNode.media = 'screen';
headID.appendChild(cssNode);
</script>

Espero haberme explicado bien... Alguien me puede ayudar por favor? Gracias de Ante mano. Saludos.
  #2 (permalink)  
Antiguo 29/04/2009, 22:38
Avatar de buzu  
Fecha de Ingreso: octubre-2006
Ubicación: San Francisco, CA
Mensajes: 2.168
Antigüedad: 17 años, 6 meses
Puntos: 122
Respuesta: Crear <link> en el <head> vía JS

Mejor hazlo con php. En el header pones una funcíon que te recupere el nombre del archivo que está abierto en el momento. Si el nombre coincide con el del formulario entonces cargas una hoja de estilos, de otra manera cargas la otra. Algo similar a lo que se hace para que los menús sepan dondes estas y te pongan esa opcion como seleccionada:

Código php:
Ver original
  1. $paginaActual = basename($_SERVER['SCRIPT_NAME']);
  2. if($paginaActual == 'formulario.php'){
  3.      echo "<link href='.....";//cargas CSS para el formulario
  4. }else{
  5.      echo "<link href=.....";//Cargas CSS normal.
  6. }

Solo cambias formulario.php en el if por el nombre de la página del formulario.
__________________
twitter: @imbuzu
  #3 (permalink)  
Antiguo 30/04/2009, 08:36
 
Fecha de Ingreso: diciembre-2002
Ubicación: ciudad de México
Mensajes: 19
Antigüedad: 21 años, 5 meses
Puntos: 0
Respuesta: Crear <link> en el <head> vía JS

Hola buzu... muchas gracias por tu ayuda. Intentaré hacer lo que me recomiendas, parece ser la solución más adecuada.

Mil Gracias.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 00:55.