我有一个在 iframe 之间使用大量 postMessage 通信的站点。在我的网站中放置 Facebook 赞按钮会导致我的调试控制台收到垃圾邮件,例如
从 [domain] 接收到对象类型的消息,需要一个字符串。
这使得开发非常困难。有没有办法防止这种额外的日志记录发生?我是使用 facebooks api 的新手,所以我希望我只是错过了一些简单的东西。他们不可能假设除了他们之外没有人会使用 postmessage。
谢谢!
我有一个在 iframe 之间使用大量 postMessage 通信的站点。在我的网站中放置 Facebook 赞按钮会导致我的调试控制台收到垃圾邮件,例如
从 [domain] 接收到对象类型的消息,需要一个字符串。
这使得开发非常困难。有没有办法防止这种额外的日志记录发生?我是使用 facebooks api 的新手,所以我希望我只是错过了一些简单的东西。他们不可能假设除了他们之外没有人会使用 postmessage。
谢谢!
实际上,禁用 console.log 是一个可怕的答案。如果我们想使用 console.log,但只想停止垃圾邮件错误消息怎么办?是什么原因造成的?我们如何真正解决它?
实际上,这不是额外的日志记录。它来自 Facebook SDK。简单地,您可以 uglify 用于从库中删除所有控制台的 sdk。
1.下载sdk。https://connect.facebook.net/en_US/sdk.js
2.Uglify 它用于删除控制台日志记录(生产版本。) https://github.com/mishoo/UglifyJS
3.在您的网站中使用它。
另一个可能对您有所帮助的链接:http: //elijahmanor.com/grunt-away-those-pesky-console-log-statements/
您可以通过执行以下操作简单地“取消设置”console.log 功能:
console.log = function(){}
先将其保存在另一个变量中,例如:
var originalLog = console.log;
现在,当 Facebook API 尝试使用日志功能时,什么都不会发生。如果您需要使用日志功能,只需先将其设置回您保存的 originalLog 变量,然后在使用完毕后取消设置即可。无论您对日志功能做了什么,未处理的错误仍将显示在您的控制台中。
在我的情况下,这是由 FVD Video Downloader 扩展引起的,所以也许你应该禁用所有浏览器扩展,看看是否能解决问题,然后将它们一一启用以找到罪魁祸首。