2010-06-28 17 views
6

Tengo una situación extraña aquí donde mis archivos de sitios externos, tanto JavaScript como CSS, se interpretan como corruptos de algún modo en los navegadores Safari. El mismo sitio se ve bien en Internet Explorer, pero en Safari, el javascript y el css se ignoran por completo. Si miro los archivos a través del Inspector, puedo ver que Safari considera que estos archivos contienen caracteres basura, ya sean símbolos asiáticos o cuadros cuadrados. Sin embargo, cuando navego directamente a los archivos, parecen estar bien. Ver el sitio Web más abajo, visto en Safari 5, para un ejemplo:Problema al cargar archivos externos (CSS y JavaScript) en Safari

http://amsoell.com/dch/castlemoore

Si lo integrar el mismo CSS o JavaScript exacta en el propio HTML, se rinde a la perfección. No sé si esto es un problema de servidor o algo en mi CSS, pero estoy en mi ingenio final aquí.

+0

Parece que está sucediendo en todo * pero * Internet Explorer (al menos para mí) ... Veamos qué está pasando aquí. –

+0

Hm, pensé que la respuesta de Bogdan funcionaría, porque es definitivamente el resultado de la codificación, pero parece que a pesar de la metaetiqueta, su archivo todavía se representa como UTF-16. ¿Tiene acceso directo al servidor o es un host compartido? –

+0

Este es mi servidor, así que tengo acceso completo. Intenté abrir todos los archivos, convertirlos a utf-8 y eliminar todos los caracteres no ASCII. Funcionó por un tiempo y mágicamente dejó de funcionar nuevamente después de que algunos navegadores relanzaran. Me pregunto si algo en el servidor no está convirtiendo estos archivos de utf-8 en algo más. Pero para responder a la pregunta, tengo acceso al servidor si tiene sugerencias del lado del servidor. –

Respuesta

4

Revisé su sitio web para validation y no es válido. Pero lo más interesante es que su codificación es utf-16le. Debe poner su codificación en utf-8. Sólo hay que poner la siguiente línea en su <head> sección:

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> 
+0

Es posible que el HTML no pase la validación, pero ese no es el problema aquí. Intenté agregar su metaetiqueta, y eso no solucionó el problema. –

+0

Veo que está trabajando ahora –

0

El problema puede ser resuelto por el ahorro de la página HTML en "Codificación de Windows-1252"

2

incluir el parámetro charset="utf-8" en sus <script> y <link> etiquetas :

<script type="text/javascript" charset="utf-8" src="script.js"></script> 

<link rel="stylesheet" type="text/css" charset="utf-8" href="style.css"> 
Cuestiones relacionadas