2016-06-27 1 views
1

오류라고 확신하지 않지만 3.0.0 버전을 2.2.3으로 변경하려고하면 문제가 없습니다.jquery-3.0.0.min.js의 오류 코드

나는 다음과 같이 signalr와 데모를 만들고있어 :

<button>Click me</button> 
// <script src="https://code.jquery.com/jquery-3.0.0.min.js"></script> 
<script src="https://code.jquery.com/jquery-2.2.3.min.js"></script> 
<script src="~/scripts/jquery.signalR-2.2.0.js"></script> 
<script src="~/signalr/hubs"></script> 
<script src="~/scripts/app.js"></script> 

app.js에서 :

var hub = $.connection.hub; 
var chat = $.connection.chat; 

hub.start().done(function() { 
    $('button').click(function() { 
     chat.server.sayHello('Hermione').done(function (msg) { 
      alert(msg) 
     }); 
    }); 
}); 

허브에서 :

public string SayHello(string name) 
{ 
    return "Hello " + name; 
} 
html로에서

여기에 ROR 스냅 샷 나는 JQuery와 버전 3.0.0 사용하려고 할 때 :

1

오류 메시지 :

Uncaught TypeError: a.indexOf is not a function

Uncaught Error: SignalR: SignalR is not loaded. Please ensure jquery.signalR-x.js is referenced before ~/signalr/js.

내 질문 :이 경우에 JQuery와 버전 3.0.0 일어날 무엇?

+2

jquery 3.0 이전 플러그인이 포함 되었습니까? https://github.com/jquery/jquery-migrate#migrate-older-jquery-code-to-jquery-30 –

+0

@ freedomn-m 귀하의 조언에 따라, 나는'https://code.jquery.com/jquery-migrate-3.0.0.js'을 페이지에 추가하면 작동합니다. 감사! –

+0

필자의 필자는 플러그인이 변경 내용을 알려주고, 변경 사항을 숨기지 않고 console.log를 확인해야한다는 것을 지적했다. 모든 호출에서 쓸모없는 메소드에 대한 경고를 받는다. –

답변

1

SignalR 플러그 인을 사용하는 경우 jQuery v3.0.0 is apparently unsupported입니다. 플러그인 설명서는 종속성에 대한 정보를 제공하지 않지만 examples in wiki jQuery 1.7을로드합니다.

jQuery 팀을 비난 할 수는 없습니다. 자세한 릴리스 노트, 마이그레이션 가이드 및 헬퍼 플러그인을 제공합니다. 코드가 최신 릴리스에서 작동하지 않을 것이라면 다음과 같이 업그레이드하면 안됩니다 :-)

3

신호음 파일 "jquery.signalR-2.2.0.min.js"에서 e.load를 $로 바꿉니다. "

+0

jQuery 파일을 업데이트하는 것이 이상적은 아닙니다. 지원되는 버전을 사용하는 것이 더 나은 대답이지만 작동합니다. –