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

로컬 스크립트 파일을 포함 할 때 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 설치 관리자가 레지스트리에 잘못된 줄을 추가 했어야합니다.

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

여기에 이미지 설명 입력

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

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

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

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


답변

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

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

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

-> 제어판

-> 프로그램

-> Windows 기능 켜기 또는 끄기

-> 인터넷 정보 서비스

-> 월드 와이드 웹 서비스

-> 일반적인 HTTP 기능

-> [X] 정적 콘텐츠.

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


답변

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

변화

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

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

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


답변