Internet Explorer 8'de JavaScript'te bir istisna oluştuğunda tam çağrı yığını almam gerekiyor. Numaraları büyük olan kareler arasında işlev çağrıları oluşabilir.Birden çok çerçeve için tam aramalar IE8'de JS
Geliştiricilere günlükleri göndermek için gerekli çağrı yığını. Bir hata ayıklayıcısını kullanamıyorum çünkü son kullanıcının bu sorunla uğraşması gerekmiyor.
JavaScripts için geçerli çözüm, calltack (http://eriwen.com/javascript/js-stack-trace/) oluşturabilmesini sağladı. Arguments.callee.caller dayanmaktadır. Ancak, işlev geçerli çerçevenin dışından çağrılmışsa, arayan sıfır (yeniden tanımlanmamış) döner. Böylece elde edilen aramalar eksiktir.
Bu durumda işlevin çağrıldığı bir çerçevenin adını alabilir miyim? IHTMLDocument :: get_Script (Idispatch ** p)
Ama IActiveScript başarısız arayüzüne nesne "komut" döküm: Aktif Komut Teknoloji dayalı
Çözüm tipi ScriptEngine bir nesne verir.
* IE8'den verilen bir bağlam için kullanılacak bağlantı ScriptEngine, arama bilgilerini oluşturmak için gerekli bilgileri ayıklayabilir miyim?
:-) Eminim bu iyi bir cevap almak ve topluma bir şeyler yayınlayın umut, ona ihtiyacımız! FYI, js-stack-trace ayrıca yığıntaki işlevlerden herhangi biri bir kereden fazla çağrılırsa hatalı yığın izlemesi verir çünkü "arayan özniteliğinin değeri bir yığın karesi değil, bir işlevdir, yığın yığınının alt kısmıdır. bazı işlevler tekrarlı olarak adlandırılırsa eksik olur. " (http://blog.yoursway.com/2009/07/3-painful-ways-to-obtain-stack-trace-in.html) – Hemlock
Teşekkürler, Hemlock. Internet Explorer ve Java Script Engine'in etkileşimi ile ilgili daha fazla açıklama burada verilmiştir: http://blogs.msdn.com/b/jaiprakash/archive/2007/01/22/jscript-exceptions-not-handled-thrown- kareler arası-if-atılmış-a-expando-method.aspx ama bu sorunu çözmez :( – RostislavS
Çapraz kare iletişimden kaçının en kolay çözüm olurdu. – Raynos