2013-07-03 5 views
1

내부에 iframe이있는 jsp가 있습니다. 나는 iframe에 다른 JSP를로드하기 위해 노력하고있어 : 여기iframe 내부 JavaScript가 작동하지 않습니다.

scripts and links ... 
<body> 
<iframe src="/contextmenu"> 
</iframe> 

<div style="float:left;"> 
    <div id="StudentTableContainer" style="width:70%;"></div> 
</div> 
</body> 
</html> 

것은의 ContextMenu입니다 :

scripts and links ... 
    <body> 
    <div data-role="content"> 
     <ul data-role="listview" id="listView"> 
      <li><a href="index.html">Inbox <span class="ui-li-count">12</span></a></li> 
      ... 
     </ul> 
    </div> 
    </body> 
아이디어가에있는 첫 번째 JSP와 자바 스크립트에 위치하고 자바 스크립트를 분리하는 것입니다

iframe 내의 페이지 오류 및 페이지 충돌이 발생하기 때문에 한 페이지 (iframe 제외)에서 자바 스크립트를 병합 할 수 없습니다. 하지만 안타깝게도 iframe 내의 javascript는 작동하지 않습니다. <head>에서이 코드 조각은 결코 경고를 호출하지 :

<script> 
    jQuery(document).ready(function() { 
     alert(1); 
     $('#listView').listview(); 
    }); 
</script> 

와 나는 같은 다른 JS 또는 CSS 파일을로드 할 수 있는지 확실하지 않습니다 : 내가 웹에 아주 새로운 해요

<script type="text/javascript" 
      src="<c:url value="/resources/js/jquery.mobile-1.2.1/jquery.mobile-1.2.1.js"/>"></script> 

을 그리고 자바 스크립트도 마찬가지입니다. 질문이 어리석은 경우 미안합니다. 나는 어떤 도움을 주셔서 감사하겠습니다.

답변

2

<script> 태그가 맞습니까?

<script type="text/javascript" 
    src="<c:url value="/resources/js/jquery.mobile-1.2.1/jquery.mobile-1.2.1.js"/>"></script> 

c: 부분이 그런는 ColdFusion 템플릿 또는 뭔가 의미합니까?

어쨌든 이것은 브라우저가 보는 것이 아닙니다. 이 템플릿 코드 이 무엇이든지을 생성하면 브라우저에서 보는 것이므로 사용자가보아야 할 것입니다. 브라우저에서 정상 <script> 태그는 다음과 같습니다

<script src="/resources/js/jquery.mobile-1.2.1/jquery.mobile-1.2.1.js"> 
</script> 

어떤 브라우저의 개발자 도구에 익숙

(. 당신은을 type="text/javascript" 필요가 없습니다)? 그것들을 사용하기 시작할 때입니다. Chrome에서 페이지를로드하고 개발자 도구를 엽니 다 (Windows의 경우 F12, 다른 OS에서는 Ctrl + Shift + I라고 생각하거나 Chrome 메뉴에서 찾을 수 있음). 개발자 도구의 콘솔 패널에 오류 메시지가 표시 될 수 있습니다. (당신이 도구를 연 후 페이지를 다시로드해야합니다.)

변경, 추가로이 코드를 디버깅하려면 :

<script> 
    jQuery(document).ready(function() { 
     alert(1); 
     $('#listView').listview(); 
    }); 
</script> 

에 :

<script> 
    debugger; 
    jQuery(document).ready(function() { 
     debugger; 
     $('#listView').listview(); 
    }); 
</script> 

및 개발자 도구를 사용하여 페이지를 다시로드 열다.

첫 번째 debugger 문에서 중지하면 코드에서 jQuery 이름 위로 마우스를 움직입니다. 그것의 정의를 보여 주나 그것은 undefined라고합니까? jQuery를로드하는지 여부를 알려줍니다.

첫 번째 debugger 문에 도달하지 않는다면 어떤 이유로 든 <script>이 실행되지 않습니다. 그러나이 경우 개발자 도구에서 오류 메시지를 표시해야합니다.

이 작업을 수행하는 동안 개발자 도구에 익숙해 지려면 시간을 들여야합니다. 나는 당신의 생산성을 증대시킬 것이라고 약속드립니다. introduction to the DevTools입니다.

관련 문제