2013-06-07 5 views
3

아래에서 비슷한 문제가 발생했지만 다음 문제를 철저히 확인했습니다. Firefox의 콘솔에 "Unterminated string literal"오류가 표시됩니다. 다음과 같이Firefox에서 이상한 문자열이없는 리터럴 오류

나는 HTML 페이지를 가지고 :

<HTML> 
<HEAD> 

<SCRIPT type="text/JavaScript"> 
var test = "</script>"; 
</SCRIPT> 
</HEAD> 

<BODY> 
</BODY> 

</HTML> 

를 지금까지 내가 말할 수있는이 자바 스크립트에 대한 잘못된 아무것도 내가 '<'을 생각하지 않기 때문에이 없어야합니다, '/'또는 '> 'JavaScript 문자열 변수의 일부로 사용될 때 이스케이프해야합니다. 다음 작품은 사실 : 그래서

var test = "</>"; 

, 나는 나의 작은 스크립트는 브라우저를 여행하는 관리 방법 궁금 또는 어떻게 그것을 해결할 수 있습니다?

답변

5

js가 아니라면 html에 대해 걱정해야합니다.
html 파서가 스크립트 태그를 닫는 종료 태그로 "</script>" 문자열을 읽고 스크립트를 종료합니다. 그래서 JS 통역이 당신은 내가 나 자신을 확인하려면이 옵션을 실행했다 이스케이프 트릭

<SCRIPT type="text/JavaScript"> 
var test = "<\/script>"; 
</SCRIPT> 
+0

을 사용할 수 있습니다 피하기 위해

var test = " 

을 본다. 나는 이것이 일어날 것을 전혀 몰랐다. 좋은 설명! +1. – OptimusCrime

+0

빠른 답변 감사합니다. 내가 제안한대로 내 서버 측 JSON 라이브러리가 도망 치지 않아야한다고 생각합니다. 조사하러 갈 것입니다! – Jarym

+0

재미 있습니다. 왜 html 태그의 인용 부호를 구문 분석합니까? –