2016-01-13 15 views
24

Khi xuất thông điệp vào giao diện điều khiển, nguồn cũng được hiển thị (trong Công cụ nhà phát triển Chrome đó là ở bên phải):Làm cách nào để ẩn nguồn thông điệp Nhật ký trong Bảng điều khiển?

console.log("Foo");       //Source 
Foo        test.js:1 //Output 

Tuy nhiên, trên một số trang web, tin nhắn được hiển thị mà không nguồn được hiển thị, chẳng hạn như trên Facebook:

Console screenshot on Facebook.com

có một cái nhìn trên Chrome Console API Reference có những ví dụ trên một tấn của đầu ra khác nhau nhưng tất cả đều đã là nguồn hiển thị.

Làm cách nào để ẩn nguồn (số .js trang và số dòng) của kết quả đầu ra bảng điều khiển?


Chỉnh sửa: Chỉ cần làm rõ, đây không phải là bản sao của How does Facebook disable the browser's integrated Developer Tools? như câu hỏi mà câu trả lời như thế nào console vô hiệu hóa đầu vào người dùng chuẩn (và câu trả lời của nó giải thích cách hoạt động). Tôi đặc biệt hỏi về tính thẩm mỹ của việc không hiển thị tập tin và dòng mã nguồn.

+0

Ra quan tâm, về những gì URL mà bạn nhìn thấy đầu ra giao diện điều khiển mà bạn đã thể hiện trong hình ảnh của bạn? Tôi không thấy điều đó khi tôi truy cập facebook.com trong Chrome. –

+0

Bạn phải đăng nhập để xem tin nhắn đó. – Ben

Trả lời

22

Họ đang sử dụng setTimeout tách khỏi nguồn:

setTimeout(console.log.bind(console, '\n%c' + s[0], s[1])); 
+0

@Cerbrus: Đó là từ JS chạy trên trang web. Dường như làm việc cho họ. –

+0

Yea, tôi nhận thấy. Tôi nghĩ rằng nó không hoạt động vì tôi chạy nó từ một giao diện điều khiển mở trên facebook.com, mà đã phá vỡ câu trả lời. – Cerbrus

+0

Tham chiếu 's [0]' và 's [1]' là gì? Thông điệp và kiểu CSS, tôi đoán vậy? – Ben

Các vấn đề liên quan