Im Kopf meiner HTML-Seite habe ich:
<script src="https://raw.github.com/cloudhead/less.js/master/dist/less-1.3.3.js"></script>
Wenn ich die Seite in meinen Browser lade (Google Chrome v 27.0.1453.116) und die Entwicklertools aktiviere, heißt es:
Es wurde abgelehnt, ein Skript von " https://raw.github.com/cloudhead/less.js/master/dist/less-1.3.3.js " auszuführen , da sein MIME-Typ ("text / plain") nicht ausführbar ist Die strikte Überprüfung des MIME-Typs ist aktiviert.
In der Tat wird das Skript nicht ausgeführt. Warum ist Chrome der Ansicht, dass dies eine reine Textdatei ist? Es hat eindeutig eine .js
Dateierweiterung.
Da ich HTML5 verwende, habe ich das type
Attribut weggelassen , sodass ich dachte, dass dies das Problem verursachen könnte. Also habe ich type="text/javascript"
den <script>
Tag erweitert und das gleiche Ergebnis erzielt. Ich habe es sogar versucht type="application/javascript"
und trotzdem den gleichen Fehler erhalten.
Dann versuchte ich es type="text/plain"
aus Neugierde zu ändern . Der Browser hat keinen Fehler zurückgegeben, aber natürlich lief auch das JavaScript nicht.
Schließlich dachte ich, die Punkte im Dateinamen könnten den Browser ausschalten. Daher habe ich in meinem HTML-Code alle Punkte in das URL-Escape-Zeichen geändert %2E
:
<script src="https://raw.github.com/cloudhead/less%2Ejs/master/dist/less-1%2E3%2E3.js"></script>
Das hat immer noch nicht funktioniert. Das einzige, was wirklich funktioniert (dh der Browser gibt keinen Fehler aus und der JS wird erfolgreich ausgeführt), ist, dass ich die Datei herunterlade, in ein lokales Verzeichnis hochlade und dann den src
Wert in die lokale Datei ändere . Ich mache das lieber nicht, da ich versuche, Platz auf meiner eigenen Website zu sparen.
Woran erkennt Chrome, dass es sich bei der verknüpften Datei um einen JavaScript-Typ handelt?