Specifying multiple targetOrigin uris in postmessage

Window.postMessage() has a targetOrigin parameter that can be set to a URI (to ensure the message reaches only a specific url). It can also be set to * of course (not recommended), but is there a way to specify multiple URIs as allowed?

At present I’m simply firing off one postMessage() call for each domain, but this seems a bit hacky to say the least.

Unfortunately you can’t. You should either provide “*” or single specified domain.

You could try to send multiples time, one per domain:

targetWindow.postMessage(message, "https://domain1.com");
targetWindow.postMessage(message, "http://localhost");

⚠ It is not recommended use “*” to prevent security vulnerabilities.

You can also make an array + loop


The answers/resolutions are collected from stackoverflow, are licensed under cc by-sa 2.5 , cc by-sa 3.0 and cc by-sa 4.0 .
Read More:   Javascript parser for Java [closed]

Similar Posts