Wideo YouTube HTML5 uruchamia komunikat konsola.log dla różnych zdarzeń, takich jak ładowanie banera reklamowego. Próbuję programowo uchwycić console.log wiadomość przy użyciu JavaScript, aby wywołać funkcję w następujący sposób:Próba przechwytywania konsolety.log Wiadomość z YouTube <iframe>
console['log'] = function(msg){
// Operate on msg
}
Aby wysłać wiadomość do console.log YouTube , działa następujący sposób (w longhand odsyłające ilustracyjnych):
document.getElementsByTagName('iframe')[youTubeIframe].contentWindow.console.log(msg);
jednak poniższy kod nie działa:
document.getElementsByTagName('iframe')[youTubeIframe].contentWindow.console['log'] = function(msg){
// Operate on msg from YouTube <iframe>
}
I też wypróbowałem:
window.console = document.getElementsByTagName('iframe')[youTubeIframe].contentWindow.console;
console['log'] = function(msg){
// Operate on msg
}
Czego nie rozumiem; jeśli jestem w stanie wywołać wiadomość console.log na YouTube , to w jaki sposób mogę przechwycićkomunikat dziennika konsoli? Jaki jest właściwy sposób, aby to zrobić, jeśli istnieje taki sposób?
Podejrzewam, że zabezpieczenia przeglądarki nie pozwalają na dostęp do konsoli z innej domeny. – jessehouwing
@jessehouwing Widzę, co mówisz, ale czy nie byłoby bardziej sensowne blokowanie komunikatów dziennika konsoli w elemencie iframe z innej domeny? – lincolnberryiii
Czytanie ich jest bardziej istotne. Powiedzmy, że javascript rejestruje w dzienniku numer karty kredytowej, nie chcesz, aby inna domena je odczytała. Jeśli napiszesz do tego, co możesz zrobić krzywdy :). – jessehouwing