asutherland
asutherland

Reputation: 2969

Facebook like button in site that uses post message spams console

I have a site that uses a lot of postMessage communication between iframes. Putting a Facebook like button in my site causes my debug console to get spammed with messages like

Received message of type object from [domain], expected a string.

This makes development very difficult. Is there any way to prevent this extra logging from occurring? I am new to using facebooks apis so I'm hoping I'm just missing something simple. They can't possibly assume that no one besides them will ever use postmessage.

Thanks!

Upvotes: 0

Views: 788

Answers (4)

Asim K T
Asim K T

Reputation: 18154

Actually that's not an extra logging. It's from the Facebook SDK. Simply you can uglify the sdk for removing all console from the library.

1.Download the sdk. https://connect.facebook.net/en_US/sdk.js

2.Uglify it for removing console logging (production version.) https://github.com/mishoo/UglifyJS

3.Use it in your site.

Another link which may help you: http://elijahmanor.com/grunt-away-those-pesky-console-log-statements/

Upvotes: 1

Koas
Koas

Reputation: 420

In my case this was caused by the FVD Video Downloader extension, so maybe you should disable all browser extensions and see if that solves the issue, then enable them back one by one to find the culprit.

Upvotes: -1

Kaz Vorpal
Kaz Vorpal

Reputation: 96

Actually, disabling console.log is a horrible answer. What if we want to use console.log, but just want to stop the spamming error message? What is causing it? How do we actually fix it?

Upvotes: 4

OhmzTech
OhmzTech

Reputation: 897

You could simply "unset" the console.log function, by doing something like:

console.log = function(){}

Save it in another variable first, for example:

var originalLog = console.log;

Now when the Facebook API tries to use the log function nothing will happen. If you need to use the log function, just enable it first by setting it back to your saved originalLog variable and unset it when you are done using it. Unhandled errors will still show up in your console, regardless of what you have done to the log function.

Upvotes: 0

Related Questions