Video HTML5 trên YouTube kích hoạt thông báo console.log cho các sự kiện khác nhau như tải biểu ngữ quảng cáo. Tôi đang cố gắng để lập trình nắm bắt được thông điệp console.log sử dụng JavaScript để kích hoạt một chức năng như sau:Đang cố gắng nắm bắt thông điệp console.log từ YouTube <iframe>
console['log'] = function(msg){
// Operate on msg
}
Để gửi tin nhắn console.log đến YouTube , các phương pháp sau đây làm việc (trong longhand để tham khảo minh họa):
document.getElementsByTagName('iframe')[youTubeIframe].contentWindow.console.log(msg);
Tuy nhiên, đoạn mã sau không hoạt động:
document.getElementsByTagName('iframe')[youTubeIframe].contentWindow.console['log'] = function(msg){
// Operate on msg from YouTube <iframe>
}
tôi cũng đã thử:
window.console = document.getElementsByTagName('iframe')[youTubeIframe].contentWindow.console;
console['log'] = function(msg){
// Operate on msg
}
Điều tôi không hiểu là; nếu tôi có thể gọi thông báo console.log tới YouTube thì làm cách nào để chụp thông báo nhật ký bảng điều khiển? Cách thích hợp để làm điều này là gì, nếu có cách như vậy?
Tôi nghi ngờ rằng bảo mật trình duyệt không cho phép bạn truy cập vào bảng điều khiển từ một tên miền khác. – jessehouwing
@jessehouwing Tôi thấy những gì bạn đang nói, nhưng nó sẽ không có ý nghĩa hơn để ngăn chặn tin nhắn đăng nhập console vào khung nội tuyến từ một tên miền khác? – lincolnberryiii
Đọc chúng là cần thiết hơn. Giả sử javascript ghi lại số thẻ tín dụng vào nhật ký, bạn sẽ không muốn một miền khác đọc chúng. Nếu bạn viết thư cho nó, bạn có thể làm hại gì :). – jessehouwing