Używam do celów debugowania console.log(...)
. Jednak konsola pobiera również wiadomości z elementów iframe (używam elementów iframe w moim kodzie HTML). Jak mogę wyświetlić tylko te dzienniki, które wysłałem, a nie dzienniki pochodzące z elementów iframe?Jak ukryć wiadomości w konsoli, które pochodzą z elementów iframes
Odpowiedz
Napisałem usługę rejestratora po stronie klienta. Użyłem wzorca, za pomocą którego mogę odfiltrować logi/błędy itp., Które są tworzone przez mój sscript, a nie przez iframe.
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
}
}
Tutaj "PC" jest wzór
Można dodać coś takiego? „nofrm = 1” do atrybutu src tagów skryptu strona, do którego chcesz zobacz logi dla. Następnie w Chrome możesz wpisać "nofrm" w filtrze, aby uzyskać logi tylko z tych skryptów. Dodaj "? Nofrm = 1" do adresu URL, jeśli chcesz również logować skrypty wbudowane.
Co powiesz na dodanie fragmentu kodu JavaScript do łapania błędów generowanych przez iFrames?
Możesz zastąpić [IFRAME ERROR MESSAGE]
błędami, które rzuca iFrame. Jeśli fragment łapie błąd z iFrame, to nie robić nic, poza tym, że będzie wyjście błędu do konsoli:
window.onerror = function (msg, url, line) {
if (msg == "[IFRAME ERROR MESSAGE]") {
return true
}
else {
//do nothing
}
}
Upewnij się umieścić ten kod jak najszybciej, w skrypcie.
przykład roboczych (zapisać go jako test.html i otwarte w Chrome):
<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>
W tym przykładzie widać, że nie ma błędów będzie wyprowadzane w konsoli po kliknięciu pierwszego przycisku, ale pojawią się błędy po kliknięciu drugiego przycisku.
- 1. Jak ukryć zapytania ajaxowe z konsoli firebug?
- 2. Jak ukryć wszystkie wiadomości w knitr/Rmarkdown?
- 3. Jak podświetlić daty kalendarza, które daty pochodzą z bazy danych
- 4. Jak kodować pliki zewnętrzne, które pochodzą z .exe
- 5. Jak ukryć aplikację konsoli w języku C#
- 6. Skąd dane wyjściowe konsoli pochodzą z hostowanej aplikacji usług IIS?
- 7. Jak ukryć kompilowanie wiadomości w Makefile?
- 8. C++ Jak ukryć okno konsoli podczas uruchamiania?
- 9. problemy z drukowaniem iFrames
- 10. Gdzie @Context obiekty pochodzą z
- 11. Zaktualizuj wszystkie pakiety pip, które nie pochodzą od Conda.
- 12. Alternatywa dla iFrames z HTML5
- 13. Jak znaleźć wiadomości, które obiekt rozumie?
- 14. Korzystanie z AudioContext w wielu iframes
- 15. iFrames and Law
- 16. Wyłączanie DFP/DoubleClick iFrames
- 17. Skąd pochodzą dane User.Identity?
- 18. Skąd pochodzą pakiety PHP Composer?
- 19. Skąd te wątki 1k pochodzą z
- 20. Iframes nie działa
- 21. Gdzie "." i "..." pochodzą od?
- 22. PowerShell usuwanie kolorów wiadomości konsoli podczas korzystania z tee-obiektu
- 23. Selenium WebDriver: Jak czekać na załadowanie iFrames?
- 24. Nie mogę odpowiadać na wiadomości użytkowników w androidowej konsoli programisty
- 25. Przeglądanie wyjścia konsoli z TVJS
- 26. Alternatywa dla ramek w html5 używających iframes
- 27. Wiadomości rejestrowania pojawiają się dwa razy w konsoli Python
- 28. Jak upewnić się, że żądania pochodzą z mojej witryny?
- 29. Youtube iframes w Bootstrap Carousel - zatrzymaj wideo na slajdzie
- 30. Jak wybrać rodzeństwo() z wielu elementów?
To może być podobne do tego, co szukasz: http://superuser.com/questions/394213/how-can-i-suppress- chrome-extension-output-from-web-inspectors-console-log –
Możliwe obejście polegałoby na użyciu polecenia 'console.info' lub' console.debug', a następnie przefiltrowanie typów wiadomości. – Kruga
Dzięki @Kruga. Nie jest to dokładne rozwiązanie, ale działa dla mnie. Innym obejściem byłoby uprzedzenie wszystkich logów 'konsoli' wzorcem, a następnie użycie regex do filtrowania ich. – rramakrishnaa