Bir uygulamadaki tüm işlenmemiş javascript istisnalarını bir uyarı kutusunda görüntülemenin bir yolunu bulmaya veya bulmaya çalışıyorum. Tüm bunların herhangi bir sunucu tarafı kodu kullanmadan istemci tarafında yapılmasını isterim. MVC3'ü bir ortam olarak kullanıyorum.
Son birkaç gündür araştırma yapıyorum ve tam olarak aradığımı bulamadım.
Aşağıda, neredeyse aradığım gibi görünen 2 yol buldum, ancak bu yollar, bir işlev adı içindeki tüm işlenmemiş istisnaların yığın izini yazdırmak için özel bir yönteme geçirmeniz gerekecek şekilde ayarlanmıştır. Özel fonksiyon. İşlenmemiş tüm özel durumların yığın izlemesini yazdıran özel bir yönteme bir işlev adını manuel olarak geçirmek zorunda kalmamak için bir yol arıyorum. Bu özel yöntemin tüm uygulama içindeki tüm işlenmemiş istisnaları sadece 'dinlemesini' istiyorum.
http://eriwen.com/javascript/js-stack-trace/
Ayrıca önceki bağlantıya benzer bir şey:
https://github.com/eriwen/javascript-stacktrace
Belirtilen bir javascript işlevinin yığın izlemesini yazdıran yukarıdaki 2. bağlantıdan temel kod:
instrumentFunction: function (context, functionName, callback) {
context = context || window;
var original = context[functionName];
context[functionName] = function instrumented() {
callback.call(this, printStackTrace().slice(4));
return context[functionName]._instrumented.apply(this, arguments);
};
context[functionName]._instrumented = original;
}
function printStackTrace(options) {
options = options || {
guess: true
};
var ex = options.e || null,
guess = !! options.guess;
var p = new printStackTrace.implementation(),
result = p.run(ex);
return (guess) ? p.guessAnonymousFunctions(result) : result;
}
Yani, bunu özetlemek gerekirse, tüm işlenmemiş javascript istisnalarını dinlemek ve ardından bunları bir uyarı kutusunda ekrana yazdırmak için bir tür 'dinleyiciye' sahip olmanın bir yolunu biliyor musunuz?
Teşekkürler! Jason