해결 : 줄을 destination.block (...) 오류를 일으키는 것입니다. 나는 이것을 피하기 위해 비어있는 것을 사실로 동등하게 만들었습니다. if (empty) 문은 바쁜 메시지를 표시하는 두 가지 다른 방법 중 하나를 선택한다고 생각합니다.
전 jQuery를 처음 사용하고 전 동료의 ASP.NET MVC 2 프로젝트를 유지 관리했습니다. 나는 다음 코드 줄이 무엇을하고 있는지 이해하는 데 어려움을 겪고있어 : 파이어 폭스에서
var empty = ($(":not(script)", destination).length == 0);
이 줄은 원인
및 오류 IE뿐만 없음. 솔직히 아래 함수를 살펴보면 필자는 필자가 필요하다고 생각하지 않지만 제 동료는 코드를 주석으로 작성하는 것을 믿지 않았습니다. 코드 변경의 영향을 이해해야합니다. 위에서
PRISMbase.LoadPartialEx = function(url, data, destination, successCallback, loadingMessage, appendNotOverwrite) {
var empty = ($(":not(script)", destination).length == 0);
var message = loadingMessage == null ? "Please wait" : loadingMessage;
if (empty)
destination.html(busy);
else
destination.block({ message: '<h1 class="Progress">' + message + '</h1>' });
return $.ajax({
data: data,
dataType: "html", type: "GET", url: url,
success: function(viewHtml) {
var partial = $(viewHtml);
if (!empty)
destination.unblock();
if(viewHtml != "")
{
if (appendNotOverwrite)
destination.append(partial);
else
destination.html(partial);
PRISMbase.InitialiseFormElements(destination);
}
else
destination.empty();
if (successCallback != null) successCallback(destination, partial);
}
});
}
:
대상 "#TabContent을"(이것은 DIV이다) 복귀 JQuery와 선택기 = 위의 컨텍스트는 다음 JavaScript 함수이다.
busy = '<img class="progress" src="/Content/OnyxProgressCircle.gif" />
';
도움을 주시면 감사하겠습니다.
감사합니다.
앨런
안녕하세요 g.d.d.c 실제로 오류가 발생하는 것은 Elmah입니다. 이 오류는 사용자가 IE를 사용하는 경우에만 발생합니다. FF는 괜찮습니다. 오류는 다음과 같습니다. "컨트롤러에서 공용 작업 메서드 '정의되지 않음'을 찾을 수 없습니다. 지난 24 시간 동안 엘마에서 1200 개의 오류가 발생했습니다. 빈 값을 true 또는 false로 설정하면 (기존 var 빈 행 아래에 var empty = true 행 추가) 오류가 발생하지 않습니다. –
@ Alan-T - 나는 Elmah에 몹시 익숙하지 않다. 당신이 그것을 오버라이드하기 전에'empty'를 로그한다면 그것은 정의되지 않은, true 또는 false로 돌아올 것입니까? 목적지는 이미 jQuery 셀렉터라고했는데 목적지의 내용을 검사하는 또 다른 방법으로'if (destination (. : not (script) '). length == 0)'를 시도해 볼 수 있습니다. –