2013-09-21 2 views
0

헤더에 자바 스크립트 파일을로드하는 웹 페이지가 있습니다. 일부 서브 페이지는 추가 자바 스크립트 파일을로드합니다. 메인 페이지에서 모든 것이 잘 작동하지만, 서브 페이지에 나는이 같은 예외을 많이 얻을 :Javascript가로드되지 않았습니다. 순서가 맞습니까?

Uncaught TypeError: Property '$' of object [object Object] is not a function

나는이 예외는 HTML 페이지에 details.js, voteHandler.js 4 번에서 발생하는 것을 볼 수 있습니다 그 자체. 예외는 항상이 줄에 발생합니다 :

<head> 
      <script type="text/javascript" src=/Scripts/jquery-1.7.1.min.js></script> 
      <script type="text/javascript"> 
       //URL for voting 
       var _postVoteUrl = 'http://localhost:5215/Post/Vote' 
       //URL for tags 
       var _tagsUrl = 'http://localhost:5215/Post/Tags' 

       //Keep track of if a cascading is loading, if so, cancel submits 
       var cascadingControlLoading = false; 
       window.latestClick = ''; 

       function IsNotDblClick(objectID) { 
        if (window.latestClick != objectID && 
         !cascadingControlLoading) { 
         window.latestClick = objectID; 
         return true; 
        } else { 
         return false; 
        } 
       } 

       $(document).ready(function() { 
        if($('#rightCon').text().trim().length < 1) 
        {$('#rightCon').hide();} 
       }); 
      </script> 
      <script type="text/javascript" src=/Scripts/jquery-ui-1.8.20.min.js>"></script> 
      <script type="text/javascript" src=/Scripts/jquery.elastic.source.js></script> 
      <script type="text/javascript" src=/Scripts/jquery.validate.min.js></script> 
      <script type="text/javascript" src=/Scripts/jquery.validate.unobtrusive.min.js></script> 
      <script type="text/javascript" src=/Scripts/jquery.qtip.min.js></script> 
      <script type="text/javascript" src=/Scripts/formhandler.js></script> 
      <script type="text/javascript" src=/Scripts/taghandler.js></script> 
      <script src="/Scripts/details.js"></script> 
      <script src="/Scripts/voteHandler.js"></script> 
     <script> 
$(function() { 

       //Google +1 
       $.getScript("http://apis.google.com/js/plusone.js", null, true); 

       //Twitter 
       $.getScript("http://platform.twitter.com/widgets.js", null, true); 

       //Facebook 
       $.getScript("http://connect.facebook.net/en_US/all.js#xfbml=1", function() { 

        $('body').append('<div id="fb-root"></div>'); 

        FB.init({ status: true, cookie: true, xfbml: true }); 

       }, true); 
      }); 
    </script> 

     <script src="/Scripts/modernizr-2.5.3.js"></script> 
    </head> 
:이 예외를 throw 서브 페이지가

<head> 
     <script type="text/javascript" src=/Scripts/jquery-1.7.1.min.js></script> 
     <script type="text/javascript"> 
      //URL for voting 
      var _postVoteUrl = 'http://localhost:5215/Post/Vote' 
      //URL for tags 
      var _tagsUrl = 'http://localhost:5215/Post/Tags' 

      //Keep track of if a cascading is loading, if so, cancel submits 
      var cascadingControlLoading = false; 
      window.latestClick = ''; 

      function IsNotDblClick(objectID) { 
       if (window.latestClick != objectID && 
        !cascadingControlLoading) { 
        window.latestClick = objectID; 
        return true; 
       } else { 
        return false; 
       } 
      } 

      $(document).ready(function() { 
       if($('#rightCon').text().trim().length < 1) 
       {$('#rightCon').hide();} 
      }); 

     </script> 
     <script type="text/javascript" src=/Scripts/jquery-ui-1.8.20.min.js>"></script> 
     <script type="text/javascript" src=/Scripts/jquery.elastic.source.js></script> 
     <script type="text/javascript" src=/Scripts/jquery.validate.min.js></script> 
     <script type="text/javascript" src=/Scripts/jquery.validate.unobtrusive.min.js></script> 
     <script type="text/javascript" src=/Scripts/jquery.qtip.min.js></script> 
     <script type="text/javascript" src=/Scripts/formhandler.js></script> 
     <script type="text/javascript" src=/Scripts/taghandler.js></script> 
     <script src="/Scripts/voteHandler.js"></script> 
     <script type="text/javascript" src=/Scripts/select2.min.js %>"></script> 

    <script> 
     function TogglePostCon() { 
      $('#postListEditorCon').toggle(); 
     } 


     SetupTagTextBox("txtTagBox", false); 
     SetupTagTextBoxPersonalTag("txtPersonalTagBox", true); 
     SetupTagTextBoxPersonalTag("txtPersonalIgnoreTagBox", true); 
    </script> 

     <script src="/Scripts/modernizr-2.5.3.js"></script> 
    </head> 

그리고 :

$("document").ready(function() { 

이 같은 작품의 메인 페이지는 모습입니다

이전에 본문 맨 아래에로드 된 일부 스크립트를 사용하지 않았지만 예외를 생성하지는 못했지만 읽은 것에서는 권장할만한 방법이 아닙니다.

내 서브 페이지가 이러한 예외를 생성하는 이유는 무엇입니까? "노 confict"모드에서

+0

$(document).ready(function() { if($('#rightCon').text().trim().length < 1) {$('#rightCon').hide();} }); 

교체? 나는 그것이 페이지를 더 빨리로드하기 때문에 그것이 추천 된 줄 알았다. ... –

+0

어디에서나 ['jQuery.noConflict()'] (http://api.jquery.com/jQuery.noConflict/)가 사용되고 있는가? 또한 서버 쪽 환경에서 생성 된 페이지입니까? 추가 연산자가 몇 가지 있는데, 코드 안에 임베디드 코드를 제안하는'%>'를 포함시킵니다. 그렇다면 '

관련 문제