Foros del Web » Programando para Internet » Javascript »

HTML5 - No permite carga CSS con Javascript

Estas en el tema de HTML5 - No permite carga CSS con Javascript en el foro de Javascript en Foros del Web. Edito: Solo pasa en servidor Localhost con HTML5. Hola, no entiendo porque no funciona este codigo con el doctype de HTML5 y sin el no ...
  #1 (permalink)  
Antiguo 09/09/2013, 07:19
 
Fecha de Ingreso: septiembre-2013
Mensajes: 3
Antigüedad: 7 años, 7 meses
Puntos: 0
Busqueda HTML5 - No permite carga CSS con Javascript

Edito: Solo pasa en servidor Localhost con HTML5.

Hola, no entiendo porque no funciona este codigo con el doctype de HTML5 y sin el no da problema, probado en Firefox, y Chrome. Usando firebug para mirar la carga del CSS.

El problema es que no logra cargar el CSS de forma correcta con el Doctype de HTML5.

Pueden probar con un css cualquiera y agregar algun elemento con class, para verlo.
Les dejo aqui abajo el codigo base, ustedes le agregan el css, que como pueden ver va dentro de una carpeta css y el archivo con nombre mycss.css.

No quiero usar Jquery, solo Javascript Puro.
Código HTML:
Ver original
  1. <!DOCTYPE html> <!-- Si quito el DOCType funciona -->
  2.     <head>
  3.         <script type="text/JavaScript" data-cfasync="false">
  4.             (function() {
  5.             var nomarch = 'css/mycss';
  6.             var d = new Date();
  7.             var cssLink=document.createElement("link");
  8.             cssLink.rel = "stylesheet";
  9.             cssLink.type = "text/css";
  10.             cssLink.href = nomarch+".css?rnd="+d.getTime();
  11.             cssLink.crossOrigin = "Anonymous";
  12.             cssLink.media = "all";
  13.             document.getElementsByTagName("head")[0].appendChild(cssLink);
  14.             })();
  15.         </script>
  16.     </head>
  17.     <body>
  18.     </body>
  19. </html>

Reporte el problema a Firefox (https://bugzilla.mozilla.org/show_bug.cgi?id=914163), a ver si se sabe de este problema;
he visto por Google problemas con servidores localhost y el uso de html5.

Gracias,

Última edición por dertin01; 09/09/2013 a las 08:07 Razón: Solo pasa en servidor Localhost
  #2 (permalink)  
Antiguo 09/09/2013, 08:10
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 12 años
Puntos: 1485
Respuesta: HTML5 - No permite carga CSS con Javascript

buenas...
¡bienvenido a forosdelweb!

el ejemplo que pones me ha funcionado correctamente en chrome. solo lo comprobé en chrome con el doctype. sospecho que el problema puede deberse a dos cosas: el content-type del script y momento de ejecucción del script. el content-type (atributo type) entiendo que debería ser text/javascript en minúsculas. aunque no estoy seguro si puede haber diferencia entre minúsculas y mayúsculas. en todo caso, recuerdo que si indicabas un type no adecuado en iexplorer el script no iba.

el momento de ejecucción puede ser otro factor. en particular, el detalle de modificar el DOM mientras el navegador esta creandolo. si te fijas, el script está modificando el elemento HEAD antes de que el navegador haya terminado de crearlo. en algunos navegadores suele reflejarse ese problema, en otros no tanto.

lo mejor que puedes hacer es mirar la consola del navegador y determinar si imprime algún mensaje de error. reitero que a mi me ha funcionado bien.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #3 (permalink)  
Antiguo 09/09/2013, 08:27
 
Fecha de Ingreso: septiembre-2013
Mensajes: 3
Antigüedad: 7 años, 7 meses
Puntos: 0
Respuesta: HTML5 - No permite carga CSS con Javascript

zerokilled:

Gracias por la respuesta, voy a seguir metiendo mano, el problema solo ocurre en mi servidor local, montado en centos 6.4, no lo he probado en un servidor local montado en windows, por ejemplo wampserver, fijate si lo podes correr en un ambiente local.

Te dejo el codigo fuente con el CSS que estoy usando para verificar. http://buscoinmueble.com.uy/bug-localhost-html5-js-css.zip

Ahora mismo me esta dando este otro error, este error me sale en el firebug, en lugar de cargar del codigo CSS: " La fuente de esta URL no es texto: http://127.0.0.1/bug-localhost-html5-js-css/css/mycssfile.css?rnd=1378736293754 "

Pienso que el servidor descarga el css, no lo muestra como texto plano. Lo voy a tratar de arreglar por .htaccess, o sino es algun permiso del archivo.

Pero con arreglar esto, tengo igual el otro problema.

Si consigo algo, les comento por aqui.
  #4 (permalink)  
Antiguo 09/09/2013, 09:48
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 12 años
Puntos: 1485
Respuesta: HTML5 - No permite carga CSS con Javascript

he probado ambos documentos en local y me funciona correctamente. no tengo un servidor para poder comprobarlo. cuando dices pienso que el servidor descarga el css, es muy ambigüo esa descripción. primero, quien descarga el archivo es el navegador, y segundo debe descargarlo porque de lo contrario no tendría sentido. quizas sea el tipo de permiso que contiene el archivo o el modo en que el servidor sirve el archivo. pude notar que el archivo tiene permisos de ejecutable aunque no creo que afecte porque de todas formas me funcionó. por cierto, ambos documentos tienen el doctype html. xD
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #5 (permalink)  
Antiguo 09/09/2013, 11:19
 
Fecha de Ingreso: septiembre-2013
Mensajes: 3
Antigüedad: 7 años, 7 meses
Puntos: 0
De acuerdo Respuesta: HTML5 - No permite carga CSS con Javascript

Lo he solucionado, el problema estaba en la configuracion de apache del servidor.

En httpd.conf tenia algo asi :

DocumentRoot "/home/dertin/www"

Y no tenia definido para ese directorio que es la Raiz, la configuracion de apache.
entonces le agregue algo asi:

<Directory "/home/dertin/www">

Options Indexes MultiViews +FollowSymlinks +SymLinksIfOwnerMatch
AllowOverride All
Order allow,deny
Allow from all

</Directory>

Con hacer estos ajustes en el httpd.conf logue resolver el problema.

Gracias,

Etiquetas: bug, css, html5
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 12:33.