Resource diinterpretasikan sebagai Script tetapi ditransfer dengan teks / biasa jenis MIME - untuk file lokal

97

Saya mendapatkan peringatan "Sumber daya ditafsirkan sebagai Skrip tetapi ditransfer dengan teks / biasa jenis MIME" di Google Chrome saat menyertakan file skrip lokal.

Saya tahu masalahnya muncul saat memuat file dari server atau melalui ajax yang paling sering bergantung pada penyetelan header yang salah.

Yang aneh adalah saya mendapatkan peringatan ini meskipun dijalankan dari folder lokal: file:///C:/test/foo.html

Ini hanya terjadi di Chrome dengan html paling dasar:

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

bar.js juga sesederhana mungkin:

function hello() {}

Saya sudah mencoba menambahkan tag meta:

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

dan diuji dengan doctypes lain tetapi sepertinya tidak ada yang membantu.

Ini jelas bukan masalah nyata karena skrip masih berfungsi dengan baik, tetapi saya sedang mengerjakan proyek besar dan saat ini memiliki sekitar 150 skrip yang disertakan. Oleh karena itu, sulit untuk melihat kapan peringatan aktual muncul di antara keduanya.

Semuanya berfungsi dengan baik ketika saya menjalankan file di server, secara lokal atau jarak jauh.

Ada ide mengapa chrome mengganggu saya dengan ini?

batzkoo
sumber
Anda tidak menginstal Visual Studio terbaru kemarin, bukan? Ini mulai terjadi pada saya dan itulah satu-satunya hal yang berubah ...
Simon Sarris
ya, VS Express 2012 RC beberapa minggu lalu. Saya memikirkannya juga jadi saya membuat file dengan notepad ++ sebagai gantinya tetapi masalahnya tetap sama. Jika VS menyebabkan ini, maka mereka pasti telah mengubah beberapa pengaturan / parameter global? Pertanyaannya adalah apa, dan bagaimana cara mengubahnya kembali?
batzkoo
Saya masih mencoba memikirkan hal yang sama. Tampaknya menjadi hal global dan itu terjadi tepat setelah saya menginstal VS2012. Saya akan memberi tahu Anda jika saya menemukan sesuatu. Agar jelas, saya sebenarnya tidak menggunakan Visual Studio untuk mengedit file, yang membuatnya lebih aneh.
Simon Sarris

Jawaban:

195

Saya menemukan jawabannya!

Penginstal Visual Studio harus menambahkan baris yang salah ke registri.

buka regeditdan lihat kunci registri ini:

masukkan deskripsi gambar di sini

Lihat kunci itu? Kunci Jenis Konten? ubah nilainya dari teks / biasa menjadi teks / javascript.

Akhirnya krom bisa bernapas lega lagi.

Saya harus mencatat bahwa baik Jenis Konten maupun PercievedType tidak ada secara default di Windows 7, jadi Anda mungkin dapat menghapus keduanya dengan aman, tetapi minimal yang perlu Anda lakukan adalah pengeditan itu.

Saya harap ini juga memperbaikinya untuk Anda!

Simon Sarris
sumber
8
Bagus kamu! untuk menemukan solusi atas gangguan ini. Saya tidak menghapus kunci tetapi mengubah nilai data menjadi teks / javascript. Terima kasih!
batzkoo
haha saya mengubahnya menjadi teks / skrip dan tidak berhasil, mungkin saya harus mencoba teks / javascript!
Simon Sarris
Terima kasih atas Solusinya! Saya memiliki masalah yang sama ... Sebenarnya dengan tipe MIME biasa / teks bagi saya kode javascript telah membuat kesalahan. Saya memiliki beberapa string (dalam sebuah array) yang berisi huruf-huruf yang ditemukan dalam pengkodean UTF-8 yang terlihat dalam bahasa-bahasa Eropa-Timur seperti "ő". "Gergő" adalah nama depan bahasa Hongaria yang bagus. Kesalahan juga telah hilang, terima kasih Tuhan, karena saya tidak dapat menjalankan kode saya - tetapi saya tidak menyelidiki ini lebih lanjut.
Zoltan
2
Wow, bagaimana Anda menemukan solusi ini?
Pakman
4
@Pakman Suatu hari saya mengalami masalah, kemudian saya membeli komputer baru dan tidak ada masalah. Kemudian, ketika saya menginstal Visual Studio 2012 saya melihat bahwa itu muncul kembali, jadi saya pikir itu pelakunya. Saya pikir itu mengubah sesuatu dalam asosiasi file registri karena semua .jsfile saya memiliki .txtikon yang terlihat, jadi saya pergi untuk memastikan mereka terkait dengan tipe data yang benar. Mereka tidak!
Simon Sarris
30

Saya mencoba memperbaiki masalah ini menggunakan metode ini tetapi tidak berhasil untuk saya.

Masalah saya adalah manajer IIS tidak memiliki tipe MIME di Fitur HTTP.

Saya dapat menyalakannya dengan mengaktifkan Static Context melalui ...

-> Panel Kontrol

-> Program

-> Mengaktifkan atau menonaktifkan fitur Windows

-> Layanan Informasi Internet

-> Layanan World Wide Web

-> Fitur HTTP umum

-> [X] Konten Statis.

Setelah ini, jenis MIME muncul dan semuanya mulai bekerja kembali.

pengguna2383049
sumber
0

Jawaban yang diterima sangat bagus! Namun, hanya untuk memposting jawaban bagi mereka yang mengalami masalah seperti saya, yang terkadang menggunakan komputer jurusan / perguruan tinggi, di mana saya tidak memiliki izin untuk mengubah nilai kunci apa pun di regedit.

Perubahan

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

untuk

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

Meskipun pesan kesalahan masih ada, halaman dimuat dengan benar.

Richard Wong
sumber
2
Tetapi masalah OP adalah halaman dimuat dengan benar, tetapi dia masih mendapat pesan kesalahan. Ini sepertinya tidak mengubah apapun.
Teepeemm