Kaynak Komut Dosyası olarak yorumlanır, ancak yerel dosya için MIME tipi metin / düz ile aktarılır


97

Yerel bir komut dosyası eklerken Google Chrome'da "Kaynak Komut Dosyası olarak yorumlandı ancak MIME türü metin / düz ile aktarıldı" uyarısı alıyorum.

Sorunun bir sunucudan veya ajax aracılığıyla bir dosya yüklerken ortaya çıktığını biliyorum ki bu çoğunlukla yanlış başlıkların ayarlanmasına bağlıdır.

İşin garibi, yerel bir klasörden çalıştırılmasına rağmen bu uyarıyı almam: file:///C:/test/foo.html

Bu, yalnızca mevcut en temel html ile Chrome'da gerçekleşir:

<!DOCTYPE html>
    <html>
    <head>
        <script type="text/javascript" src="bar.js"></script>
    </head>
    <body>
    </body>
</html>

bar.js ayrıca alabildiği kadar basit:

function hello() {}

Bir meta etiket eklemeyi denedim:

<meta http-equiv="content-script-type" content="text/javascript">

ve diğer belge türleriyle test edildi, ancak hiçbir şey yardımcı olmuyor.

Komut dosyaları hala iyi çalıştığı için bu kesinlikle gerçek bir sorun değil, ancak büyük bir proje üzerinde çalışıyorum ve şu anda dahil edilen yaklaşık 150 komut dosyası var. Bu nedenle, aralarında gerçek bir uyarının ne zaman oluştuğunu görmeyi zorlaştırır.

Dosyayı yerel veya uzak bir sunucuda çalıştırdığımda her şey yolunda gidiyor.

Chrome'un beni neden bu kadar rahatsız ettiğine dair bir fikriniz var mı?


Geçen gün en son Visual Studio'yu yüklemediniz, değil mi? Bu bana olmaya başladı ve değişen tek şey buydu ...
Simon Sarris

evet, VS Express 2012 RC birkaç hafta önce. Bunu da düşündüm, bu yüzden dosyaları notepad ++ ile oluşturdum ama sorun aynı kalıyor. VS buna neden oluyorsa, bazı genel ayarları / parametreleri değiştirmiş olmalılar mı? Soru ne ve nasıl eski haline dönebilirim?
batzkoo

Hala aynı şeyi anlamaya çalışıyorum. Küresel bir şey gibi görünüyor ve tam olarak VS2012'yi kurduktan sonra oldu. Bir şey çözersem sana haber veririm. Açık olmak gerekirse, dosya düzenleme için aslında Visual Studio'yu kullanmıyorum, bu da onu daha garip hale getiriyor.
Simon Sarris

Yanıtlar:


195

Bunu anladım!

Visual Studio yükleyicisi kayıt defterine hatalı bir satır eklemiş olmalıdır.

açın regeditve şu kayıt defteri anahtarına bir göz atın:

görüntü açıklamasını buraya girin

Şu anahtarı görüyor musun? İçerik Türü anahtarı mı? değerini metin / düz'den metin / javascript'e değiştirin.

Sonunda krom tekrar rahat nefes alabilir.

Windows 7'de ne Content Type ne de PercievedType'ın varsayılan olarak bulunmadığına dikkat etmeliyim, bu nedenle her ikisini de güvenle silebilirsiniz, ancak yapmanız gereken minimum şey bu düzenlemedir.

Her neyse, umarım bu sizin için de düzeltir!


8
Aferin sana! bu rahatsızlığa çözüm bulmak için. Anahtarı silmedim, bunun yerine veri değerini text / javascript olarak değiştirdim. Teşekkürler!
batzkoo

haha bunu text / script olarak değiştirdim ve işe yaramadı, belki text / javascript denemeliydim!
Simon Sarris

Çözüm için teşekkürler! Aynı sorunu yaşadım ... Aslında benim için MIME türü düz / metin ile javascript kodu hatalar attı. "Ő" gibi doğu-Avrupa dillerinde görülen UTF-8 kodlamasında bulunan harfleri içeren bazı dizelerim (bir dizide) vardı. "Gergő" güzel bir Macar ilk adıdır. Kodumu çalıştıramadığım için hatalar da gitti Tanrı'ya şükür - ama bunu daha fazla araştırmadım.
Zoltan

2
Vay canına, bu çözümü nasıl keşfettiniz?
Pakman

4
@Pakman Bir gün sorun yaşadım, sonra yeni bir bilgisayar aldım ve sorun olmadı. Daha sonra, Visual Studio 2012'yi kurduğumda, yeniden ortaya çıktığını fark ettim, bu yüzden suçlunun bu olduğunu anladım. Kayıt defterinin dosya ilişkilerinde bir şeyi değiştirdiğini düşündüm çünkü tüm .jsdosyalarımın .txtsimgeleri görünüyordu, bu yüzden doğru veri türüyle ilişkilendirildiklerinden emin olmaya gittim. Değildiler!
Simon Sarris

30

Bu yöntemi kullanarak bu sorunu gidermeyi denedim ama benim için işe yaramadı.

Sorunum, IIS yöneticisinin HTTP Özelliklerinde MIME türlerine sahip olmamasıydı.

Static Context'i şu yolla etkinleştirerek açabildim ...

-> Kontrol Paneli

-> Programlar

-> Windows özelliklerini açın veya kapatın

-> İnternet Bilgi Hizmetleri

-> World Wide Web Hizmetleri

-> Yaygın HTTP özellikleri

-> [X] Statik İçerik.

Bundan sonra MIME türleri ortaya çıktı ve her şey yeniden çalışmaya başladı.


0

Kabul edilen cevap harika bir cevap! Ancak, regedit'te herhangi bir anahtar değeri değiştirme iznim olmayan, bazen benim gibi bir sorunla karşılaşanlar, bazen bir departman / üniversite bilgisayarı kullananlar için bir cevap göndermek için.

Değişiklik

<script type="text/javascript" src="main.js"></script>

-e

<script src="main.js"></script>

Hata mesajı hala mevcut olmasına rağmen, sayfa doğru şekilde yüklendi.


2
Ancak OP'nin sorunu, sayfanın doğru yüklenmesi, ancak yine de bir hata mesajı almasıdır. Bu hiçbir şeyi değiştirmiyor gibi görünüyor.
Teepeemm
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.