Html5 Facebook login popup being blocked

Tested with:

  • Project/Bundle/HTML5 Application (Debug and Release)
  • Windows 10
  • Defold 1.2.170 and 171

Microsoft Edge is blocking the FB login popup. It works ok on Google Chrome.

I tested the following scenarios:

  1. Clean html5 page (no Defold) with a button using FB sdk directly. No issue, Edge doesn’t block the login popup.
  2. Clean Defold project, with a button using FB native extension. Issue with Edge.
  3. Clean Defold project, with a button using FB sdk directly (via html5.run). Issue with Edge.

So from the 3 tests above, it looks like there is an issue with Defold’s handling of clicks or showing the FB login, which causes Edge to block it.

For test #3, I found a possible fix here:

This actually works! But it means I will have to get rid of using the FB extension, and also find a way to send back messages from JS to Defold (agulev’s extension will probably work).

However, I was hoping I can continue using the FB extension so it works uniformly across all platforms, without having to make a special case for html5.

Can this be “fixed” in the html5 template and/or FB extension somehow? Or am I better off using FB’s sdk directly and using the canvas click workaround?