스크립트로 해석되지만 MIME 유형 텍스트 / 일반으로 전송 된 리소스-로컬 파일 용


97

로컬 스크립트 파일을 포함 할 때 Google 크롬에서 "스크립트로 해석되지만 MIME 유형 텍스트 / 일반으로 전송 된 리소스"라는 경고가 표시됩니다.

서버에서 또는 잘못된 헤더가 설정되는 경우가 가장 자주 발생하는 ajax를 통해 파일을로드 할 때 문제가 발생한다는 것을 알고 있습니다.

이상한 점은 로컬 폴더에서 실행되는 경우에도이 경고가 표시된다는 것입니다. file:///C:/test/foo.html

이것은 가장 기본적인 html이있는 Chrome에서만 발생합니다.

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

bar.js는 다음과 같이 간단합니다.

function hello() {}

메타 태그를 추가해 보았습니다.

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

다른 doctype으로 테스트했지만 도움이되지 않는 것 같습니다.

스크립트가 여전히 잘 작동하기 때문에 이것은 분명히 실제 문제가 아니지만 대규모 프로젝트에서 작업 중이며 현재 약 150 개의 스크립트가 포함되어 있습니다. 따라서 그 사이에 실제 경고가 발생하는시기를 알기 어렵습니다.

로컬 또는 원격 서버에서 파일을 실행할 때 모든 것이 잘 작동합니다.

왜 크롬이 이것으로 나를 괴롭히는 지에 대한 아이디어가 있습니까?


요 전에 최신 Visual Studio를 설치하지 않았습니까? 이것은 나에게 일어나기 시작했고 그게 유일한 변화
Simon Sarris

예, 몇 주 전에 VS Express 2012 RC입니다. 나도 그것에 대해 생각했기 때문에 대신 메모장 ++로 파일을 만들었지 만 문제는 동일하게 유지됩니다. VS가 이것을 일으키는 경우 일부 전역 설정 / 매개 변수를 변경 했어야합니까? 질문은 무엇이며 어떻게 다시 변경합니까?
batzkoo

나는 여전히 똑같은 것을 알아 내려고 노력하고있다. 그것은 글로벌 한 것처럼 보이며 VS2012를 설치 한 후에 정확하게 발생했습니다. 알아 내면 알려 드릴게요. 명확하게 말하면 실제로 파일 편집에 Visual Studio를 사용하지 않기 때문에 더 이상합니다.
Simon Sarris 2012-08-21

답변:


195

나는 그것을 알아!

Visual Studio 설치 관리자가 레지스트리에 잘못된 줄을 추가 했어야합니다.

regedit이 레지스트리 키를 열고 살펴보십시오.

여기에 이미지 설명 입력

그 열쇠 보이 시죠? 콘텐츠 유형 키? 값을 text / plain에서 text / javascript로 변경합니다.

마지막으로 크롬은 다시 쉽게 숨을 쉴 수 있습니다.

Windows 7에는 기본적으로 Content Type이나 PercievedType이 없으므로 둘 다 안전하게 삭제할 수 있지만 최소한해야 할 일은 편집입니다.

어쨌든 나는 이것이 당신을 위해 그것을 고치기를 바랍니다!


8
잘하셨습니다! 이 성가심에 대한 해결책을 찾았습니다. 키를 삭제하지 않고 대신 데이터 값을 text / javascript로 변경했습니다. 감사!
batzkoo

하하 텍스트 / 스크립트로 변경했는데 작동하지 않았습니다. 아마도 텍스트 / 자바 스크립트를 시도했을 것입니다!
Simon Sarris

솔루션에 감사드립니다! 나는 똑같은 문제가 있었다 ... 사실 MIME 유형의 일반 / 텍스트를 사용하면 자바 스크립트 코드에서 오류가 발생했습니다. "ő"와 같은 동유럽 언어에서 볼 수있는 UTF-8 인코딩에서 찾은 문자를 포함하는 문자열 (배열)이 있습니다. "Gergő"는 헝가리의 이름입니다. 코드를 실행할 수 없었기 때문에 오류가 발생했습니다. 그러나 더 이상 조사하지 않았습니다.
Zoltan

2
와,이 솔루션을 어떻게 발견 했습니까?
Pakman

4
@Pakman 언젠가 문제가 생겼는데 새 컴퓨터를 구입했는데 문제가 없었습니다. 그런 다음 Visual Studio 2012를 설치했을 때 다시 나타나는 것을 알았 기 때문에 이것이 범인이라고 생각했습니다. 모든 .js파일에 .txt아이콘이 표시되어 있기 때문에 레지스트리의 파일 연결에서 무언가가 변경되었다고 생각했기 때문에 올바른 데이터 유형과 연결되었는지 확인했습니다. 그렇지 않았습니다!
Simon Sarris 2013

30

이 방법을 사용 하여이 문제를 해결하려고 시도했지만 작동하지 않았습니다.

내 문제는 IIS 관리자가 HTTP 기능에 MIME 유형이 없다는 것입니다.

다음을 통해 정적 컨텍스트를 활성화하여 켤 수있었습니다.

-> 제어판

-> 프로그램

-> Windows 기능 켜기 또는 끄기

-> 인터넷 정보 서비스

-> 월드 와이드 웹 서비스

-> 일반적인 HTTP 기능

-> [X] 정적 콘텐츠.

그 후 MIME 유형이 나타나고 모든 것이 다시 작동하기 시작했습니다.


0

받아 들여지는 대답은 훌륭합니다! 그러나 나 같은 문제가 발생하는 사람들, 때로는학과 / 대학 컴퓨터를 사용하는 사람들에게 답변을 게시하기 위해 regedit에서 키 값을 변경할 권한이 없습니다.

변화

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

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

오류 메시지가 여전히 존재하지만 페이지가 올바르게로드되었습니다.


2
그러나 OP의 문제는 페이지가 올바르게로드되지만 여전히 오류 메시지가 표시된다는 것입니다. 이것은 아무것도 바꾸지 않는 것 같습니다.
Teepeemm 2014
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.