2016-03-02 17 views
15

'dan gelen konsoldaki iletileri nasıl gizlerim Hata ayıklama amacıyla console.log(...) kullanıyorum. Ancak konsol iframe'lerden de mesajlar alır (HTML kodumdaki iframe'leri kullanıyorum). Yalnızca gönderdiğim günlükleri ve iframe'lerden gelen günlükleri nasıl görebilirim?iframes

+2

kalıptır: http://superuser.com/questions/394213/how-can-i-suppress- chrome-extension-from-web-inspectors-console-log –

+3

Olası bir geçici çözüm, 'console.info' veya' console.debug' yerine kullanmak ve sonra da mesaj türlerini filtrelemek olabilir. – Kruga

+0

Teşekkürler @Kruga. Onun tam çözümü değil, benim için çalışmaları. Başka bir geçici çözüm, tüm 'konsol 'günlüklerini bir kalıpla birlikte atamak ve ardından bunları filtrelemek için düzenli ifadeyi kullanmaktır. – rramakrishnaa

cevap

1

İstemci tarafı için bir kayıt hizmeti yazdım. Iframes tarafından değil sscript tarafından üretilen günlükleri/hataları filtreleyebileceğim bir şablon kullandım. İşte

function logger(){ 
    var pattern="PC:"; 
    var info=function(){ 
     Array.prototype.unshift.apply(arguments, [pattern]); 
     console.info.apply(console, arguments); 
    } 
     var log=function(){ 
     Array.prototype.unshift.apply(arguments, [pattern]); 
     console.log.apply(console, arguments); 
    } 
    var warning=function(){ 
     Array.prototype.unshift.apply(arguments, [pattern]); 
     console.warn.apply(console, arguments); 
    } 
    var debug=function(){ 
     Array.prototype.unshift.apply(arguments, [pattern]); 
     console.debug.apply(console, arguments); 
    } 
    var error=function(){ 
     Array.prototype.unshift.apply(arguments, [pattern]); 
     console.error.apply(console, arguments); 
    } 
    return { 
     info:info, 
     log:log, 
     warning:warning, 
     debug:debug, 
     error:error 
    } 
} 

"PC:" Eğer Aradığınızı Bu benzer olabilecek

0

Günlükleri, diğer komut dosyalarından kaynak/gizlemeye göre filtreleyebilirsiniz. Eğer

Filter by source

1

Sen gibi bir şey ekleyebilir komut daha az sayıda günlükleri almak eğer ki, yalnızca çözüm olacak "? nofrm = 1" sayfanın komut etiketlerinin src niteliği Sizin istediğiniz için günlükleri bakın. Daha sonra Chrome'da, yalnızca komut dosyalarından günlük almak için filtreye "nofrm" yazabilirsiniz. Satır içi komut dosyalarını da kaydetmek istiyorsanız, URL'ye "? Nofrm = 1" ekleyin.

2

iFrame'ler tarafından atılan hataları yakalamak için JavaScript'inize snippet eklemeye ne dersiniz?

[IFRAME ERROR MESSAGE], iFrame'inizin attığı hatalarla değiştirilebilir.

window.onerror = function (msg, url, line) { 
    if (msg == "[IFRAME ERROR MESSAGE]") { 
     return true 
    } 
    else { 
     //do nothing 
    } 
} 

Betiğinizde mümkün olduğunca erken bu kodu koymak için emin olun: pasajı bir iFrame bir hata yakalarsa, aksi halde, bu çıkış konsoluna hata olacaktır, hiçbir şey yapacağız. Çalışma örneği

Reference

Reference 2

(test.html olarak kaydedin ve krom açık):

<button onclick="myfunction()">x is not defined</button> 
<button onclick="myfunction2()">y is not defined</button> 

<script> 
window.onerror = function (msg, url, line) { 
    if (msg == "Uncaught ReferenceError: x is not defined") { 
     return true 
    } 
    else { 
     //do nothing 
    } 
} 
function myfunction(){ 
    console.log(x); 
} 
function myfunction2(){ 
    console.log(y); 
} 

</script> 

Bu örnekte, hiçbir hata olacağını göreceksiniz ilk düğmeyi tıkladığınızda konsolda çıktı, ancak ikinci düğmeyi tıkladığınızda hataları görürsünüz.

İlgili konular