브라우저에서 렌더링 된 장바구니 페이지에 오류 로거가 있습니다.
window.onerror = function (errorMsg, url, lineNumber, column, errorObj) {
$.post('/Home/Error',
{
"errorMsg": errorMsg,
"url": url,
"lineNumber": lineNumber,
"column": column,
"errorobj": JSON.stringify(errorObj)
});
서버의 Mono MVC4 응용 프로그램에 오류를 기록합니다.
public ActionResult Error(string errorMsg, string url,
string lineNumber, string column, string errorobj)
{
Logifail.Write(
string.Format(
"Error {0}\n" +
"Url {1}\n" +
"Line {2}\n" +
"Column {3}\n" +
"Obj {4}\n", errorMsg, url, lineNumber, column, errorobj
);
return new ContentResult();
}
서버 로그에는 많은 메시지가 포함됩니다.
오류 개체가이 속성 또는 메서드를 지원하지 않습니다.
URL http : //example.com/Store/Details? product = H62810-00
Line 132
Column
Obj
132 행에는 var price = Number($('#Price').text().replace(',', '.').trim()),
카트의 가격을 업데이트하는 방법이 있습니다.
var updatePage = function () {
var price = Number($('#Price').text().replace(',', '.').trim()), // line 132
quantity = Number($('#spinner').val().replace(',', '.'));
var total_eur = price * quantity;
$('span#total_eur').text(total_eur.toFixed(2));
};
이 줄에서 가끔 뭔가 잘못된 것 같습니다. 이 오류를 수정하는 방법은 무엇입니까? 이 방법을 호출하는이 페이지에서 가능한 사용자 상호 작용을 시도했지만 오류가 발생하지 않습니다. 이 오류는 일부 사용자에게만 발생합니다.
updatePage()
오류가 발생하지 않도록 변경할 수 있습니까 ? 브라우저에서 Javascript 오류에 대한 자세한 정보를 기록하는 방법 : Javascript 스택 추적, 변수 이름 및 오류에 대한 자세한 정보를 제공 할 수있는 브라우저의 현재 및 기타 데이터? column
그리고 errorobj
항상 비어 있습니다. 왜 그것들이 오류 처리기에 전달되지 않습니까?
일부 플러그인이 포함 된 jQuery, jquery-ui가 사용됩니다. 다음 파일은 축소 된 형식으로 페이지에로드됩니다.
"~/Scripts/jquery/jquery-1.8.3.js",
"~/Scripts/jquery-ui-1.9.2.custom.js",
"~/Scripts/menubar.js",
"~/Scripts/jBreadCrumb/js/jquery.jBreadCrumb.1.1.js",
"~/Scripts/Pikachoose/jquery.fancybox.js",
"~/Scripts/jquery.dotdotdot-1.5.6-packed.js",
"~/Scripts/responsiveslides.js",
"~/Scripts/jcarousel-0.2/lib/jquery.jcarousel.js",
.trim()
IE8에서는 지원되지 않으므로 소수의 사용자에게만 표시되는 이유 일 가능성이 높습니다.
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/Trim 은 다음 Polyfill을 제안합니다.
if (!String.prototype.trim) {
(function(){
// Make sure we trim BOM and NBSP
var rtrim = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;
String.prototype.trim = function () {
return this.replace(rtrim, "");
}
})();
}
여기에 대한 지원 옵션이 있습니다. .trim()
Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari
-----------------------------------------------------------------
(Yes) | 3.5 (1.9.1) | 9 | 10.5 | 5
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다