2012-06-06 3 views
2

정말 이상한 문제가 있습니다. 내 애플리케이션에서 Spring Framework 3.0.5를 사용하고 있습니다. 뷰 렌더링을 위해 Tiles Framework를 사용합니다. 이제 Spring 애플리케이션에서 JSPX 구문 분석 후 jQuery 오류

<html xmlns="http://www.w3.org/1999/xhtml" xmlns:jsp="http://java.sun.com/JSP/Page" xmlns:c="http://java.sun.com/jsp/jstl/core" xmlns:tiles="http://tiles.apache.org/tags-tiles" xmlns:spring="http://www.springframework.org/tags" xmlns:util="urn:jsptagdir:/WEB-INF/tags/util" > 
<jsp:output doctype-root-element="html" doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN" doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"/>   
<jsp:output omit-xml-declaration="yes"/> 

<head> 

</head> 

<body> 
    <script type="text/javascript" src="${pageContext.request.contextPath}/resources/js/jquery.js"></script> 
    <img id="testimg" src="${pageContext.request.contextPath}/resources/images/logo.png" onclick="$(this).fadeOut()" /> 
</body> 
문제 : 내가 페이지를로드 할 때마다, 내가 jQuery를 호출하고 더 이상의 JS 코드에서 자바 스크립트 오류가

는 레이아웃하여 jspx 파일의 소스 실행 :

Error: c.removeAttribute is not a function 

을하지만 페이지의 소스를 복사하여 로컬 파일에 붙여 넣을하고 브라우저를 열 경우, 모든 (차이가 괜찮습니다, 바람둥이하지 않습니다 페이지 배달).

렌더링 된 페이지는 다음과 같습니다

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head /> 
<body> 
    <script src="/myContext/resources/js/jquery.js" 
    type="text/javascript"> 

    </script> 
    <img onclick="$(this).fadeOut()" 
    src="/myContext/resources/images/logo.png" id="testimg" /> 
</body> 
</html> 

이미지가 올바르게 표시되고 query.js도로드됩니다. 저는 정말로 아이디어가 부족합니다. 누군가가 나를 도울 수 있기를 바랍니다 !!

미리 감사드립니다.

업데이트 : 이 효과는 Safari 및 FF에서만 발생합니다. Google 크롬에서 작동합니다! 그리고 나는 맥을 사용하고 있다고 언급하는 것을 잊지 마라.

답변

0

당신은 JSPX를 사용하고 있다고 언급했다. 난 당신이 <script></script> 사이에 주석을 추가 할 것을 제안,

<script ...> <!-- please keep me --> </script> 

그렇지 않으면, JSPX 컴파일러는 브라우저를 렌더링 할 때 잘못된 것 <script .../>,에 <script> 태그를 만들 것이다. (이것은 내가 추측하는 바이며 그것이 맞아야한다고 생각합니다.)

자세한 이유는 모르겠지만 동일한 문제를 만났습니다. 그 방법으로 해결했습니다. 자세한 이유를 알아낼 수 있으면 알려주십시오.

감사합니다.