Je reçois un avertissement "Ressource interprétée comme un script mais transférée avec un texte de type MIME" dans Google Chrome lors de l'inclusion d'un fichier de script local.
Je sais que le problème apparaît lors du chargement d'un fichier à partir d'un serveur ou via ajax, qui dépend le plus souvent de la définition de mauvais en-têtes.
La chose étrange est que je reçois cet avertissement même s'il est exécuté à partir d'un dossier local: file:///C:/test/foo.html
Cela ne se produit que dans Chrome avec le code HTML le plus basique:
<!DOCTYPE html>
<html>
<head>
<script type="text/javascript" src="bar.js"></script>
</head>
<body>
</body>
</html>
bar.js est aussi aussi simple que possible:
function hello() {}
J'ai essayé d'ajouter une balise meta:
<meta http-equiv="content-script-type" content="text/javascript">
et testé avec d'autres doctypes mais rien ne semble aider.
Ce n'est évidemment pas un vrai problème puisque les scripts fonctionnent toujours bien, mais je travaille sur un grand projet et j'ai actuellement environ 150 scripts inclus. Il est donc difficile de voir quand un avertissement réel se produit entre eux.
Tout fonctionne bien lorsque j'exécute le fichier sur un serveur, localement ou à distance.
Des idées sur les raisons pour lesquelles Chrome me dérange avec ça?
la source
Réponses:
Je l'ai compris!
Le programme d'installation de Visual Studio doit avoir ajouté une ligne errante au registre.
ouvrez
regedit
et jetez un œil à cette clé de registre:Vous voyez cette clé? La clé de type de contenu? change sa valeur de text / plain à text / javascript.
Enfin, le chrome peut à nouveau respirer.
Je dois noter que ni Content Type ni PercievedType ne sont présents par défaut sur Windows 7, vous pouvez donc probablement les supprimer tous les deux en toute sécurité, mais le minimum que vous devez faire est cette modification.
Quoi qu'il en soit, j'espère que cela résout le problème pour vous aussi!
la source
.js
fichiers avaient.txt
des icônes, alors je suis allé m'assurer qu'ils étaient associés au bon type de données. Ils ne l'étaient pas!J'ai essayé de résoudre ce problème en utilisant cette méthode, mais cela n'a pas fonctionné pour moi.
Mon problème était que le gestionnaire IIS n'avait pas de types MIME dans les fonctionnalités HTTP.
J'ai pu l'activer en activant Static Context via ...
-> Panneau de configuration
-> Programmes
-> Activer ou désactiver les fonctionnalités Windows
-> Services d'information Internet
-> Services World Wide Web
-> Fonctionnalités HTTP communes
-> [X] Contenu statique.
Après cela, les types MIME sont apparus et tout a recommencé à fonctionner.
la source
La réponse acceptée est excellente! Cependant, juste pour publier une réponse pour ceux qui rencontrent des problèmes comme moi, qui utilisent parfois un ordinateur de département / collège, où je n'ai pas l'autorisation de modifier une valeur de clé dans regedit.
Changement
<script type="text/javascript" src="main.js"></script>
à
<script src="main.js"></script>
Bien que le message d'erreur existe toujours, la page s'est chargée correctement.
la source