2

I'm using Microsoft Edge in localhost for development.

Website is accessed via http://localhost

I open a popup and want it to post a message to the opener via window.opener.postMessage

My code works with Chrome, and Safari, and even Microsoft Edge when the website is on staging or production.

But when I run in in local mode, the window.opener is undefined.

kube
  • 13,176
  • 9
  • 34
  • 38
  • When you say `local mode` I assume you mean `file:///` instead of `http://localhost` - possible duplicate of [JavaScript window.opener call parent function](http://stackoverflow.com/questions/10591050/javascript-window-opener-call-parent-function) – Adam Jenkins Jul 02 '15 at 23:37
  • No as I said, I'm running it through `localhost`, with the `http://` – kube Jul 02 '15 at 23:42
  • 4
    Then this is probably applicable: `It is also not supported in IE if the opener is in a different security zone.` from https://developer.mozilla.org/en-US/docs/Web/API/Window/opener – Adam Jenkins Jul 02 '15 at 23:43
  • As I said, the code works well when ran in production, even ran with Edge, and the targetOrigin the message listener is set to `'*'` to be usable with a desktop app built with Electron. Both popup and main window are in `http://localhost:9000` – kube Jul 02 '15 at 23:49

2 Answers2

2

CORS on localhost is tricky so try to create a domain name you like to your hosts file (%windir%\System32\Drivers\etc\hosts) - if you're in a Windows-based platform and map those back to 127.0.0.1.

You probably already know how to change the hosts file but just in case:

http://support.hostgator.com/articles/general-help/technical/how-do-i-change-my-hosts-file

securecodeninja
  • 2,497
  • 3
  • 16
  • 22
0

Microsoft Edge runs in network isolation and does not currently support localhost testing. Run this in an elevated command prompt to enable loopback support:

CheckNetIsolation LoopbackExempt -a -n=Microsoft.MicrosoftEdge_8wekyb3d8bbwe

In a future update, you’ll be able to enable localhost loopback support using about:flags.

More info: http://dev.modern.ie/platform/faq/how-can-i-debug-localhost/

Ryan Joy
  • 3,021
  • 19
  • 20
  • I already configured this, as I said I can open popups so it means my code runs in localhost. – kube Jul 10 '15 at 11:46