2010-12-07 9 views

cevap

2

this thread bakınız. (Tam bir çoğaltma değil, ancak ilgili).

Konsol çıktısını okumak için bir yol bulamadım, ancak ilgilendiğiniz tüm :: log() iletilerinizi yakalamaksa, .log() yöntemini geçersiz kılabilirsiniz veya kendi günlük iletilerinizi başka bir kapsayıcıya yazar ve sonra da .log() öğesini çağırır. Eğer konsol penceresi kimliğini izini ve doğrudan içeriğini almak böylece Tabii

var myLogStr=''; 

function myLog(str) 
{ 
    if(console) console.log(str); 
    myLogString+=str+'\n'; 
} 

, Kundakçı nesneleri (konsol, vs) hepsi DOM var. hataları yolunu kesmek için bir yol sağlayabilir

Güncelleme

Firebug also offers some events that you can hook into, vb

+3

oh ironi bir göz, sorununuzu çözmek gerekir console.log için bir sarıcı yarattı - O soru üzerine En yüksek oyu cevap yazdım ... – nickf

+0

LOL ... Ben bunu farketmemişti. Seni o konuya ayırdım. Firebug listesinde bir soru açmaya ya da konsol nesnesinin internals'ını bulmak için FireBug ile DOM'ı keşfetmeye değdiğini düşünüyorum. Hata çıkışı yakalamak güzel olurdu, vb –

+0

Maalesef Link'in ölümünden – Sebas

5

kendini window.console sarma olmadan, bu mümkün olduğuna inanmıyorum. Kaynağa bakıldığında, bir Firebug'ın console yönteminin (ana belgenin içinde çalıştığı ve bu nedenle özel ayrıcalıklara sahip olmadığı) çağrıldığı zaman, ana belgede yer alan bazı nesneler kaldığı ve daha sonra özel bir olayı yükselttiği anlaşılıyor. Ayrıcalıklı-plug-in-land içinde çalışan bir Firebug dinleyicisi, olayı kaldırır, belgede kalan nesneleri yukarı kaldırır ve tarayıcı kromunun bir parçası olan ve bu nedenle ana bilgisayarda çalışan JavaScript'e erişilemeyen konsol paneline uygun şeyleri ekler. penceresi.

Bunun ayrıntıları hakkında yanıltıcı olabilirim çünkü Firebug kaynağına sadece minnettar bir bakış atmıştım ve çok az Firefox eklentisi geliştirdim, ama bunun çok doğru olduğunu düşünüyorum.

İlgili konular