[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>
오류 메시지가 여전히 존재하지만 페이지가 올바르게로드되었습니다.