-
Star
(123)
You must be signed in to star a gist -
Fork
(39)
You must be signed in to fork a gist
-
-
Save cirocosta/9f730967347faf9efb0b to your computer and use it in GitHub Desktop.
<!DOCTYPE html> | |
<html> | |
<head> | |
<title>My Iframe</title> | |
</head> | |
<body> | |
<button>Botão</button> | |
<script type="text/javascript"> | |
document.querySelector('button').onclick = function () { | |
// parent.postMessage("message to be sent", "http://the-website-that-will-receive-the-msg.com") | |
parent.postMessage("myevent", "*") | |
}; | |
</script> | |
</body> | |
</html> |
<!DOCTYPE html> | |
<html> | |
<head> | |
<title>Index</title> | |
</head> | |
<body> | |
<iframe src="iframe.html" width="300" height="300"></iframe> | |
<script type="text/javascript"> | |
var eventMethod = window.addEventListener | |
? "addEventListener" | |
: "attachEvent"; | |
var eventer = window[eventMethod]; | |
var messageEvent = eventMethod === "attachEvent" | |
? "onmessage" | |
: "message"; | |
eventer(messageEvent, function (e) { | |
// if (e.origin !== 'http://the-trusted-iframe-origin.com') return; | |
if (e.data === "myevent" || e.message === "myevent") | |
alert('Message from iframe just came!'); | |
console.log(e); | |
}); | |
</script> | |
</body> | |
</html> |
It is working whit cross origin iframes?
for future readers: this solution does not work with cross-origin.
it works cross-origin perfectly for me on latest Chrome.
Yes it works. I have an app on production with this and it works cross-origin perfectly
Yes it works. I have an app on production with this and it works cross-origin perfectly
I tested on firefox, was not working for me. Can you please verify?
Yes it works. I have an app on production with this and it works cross-origin perfectly
I tested on firefox, was not working for me. Can you please verify?
Yes, works flawlessly on current Firefox, too.
I can confirm it is working still. Thanks!
it can use for allow user media access?
it can use for allow user media access?
I believe you can try and use the main page to ask the user media access, and retrieve the IDs, then you can send the IDs to the iframe via a message and use it there.
Of course you need to make sure the Iframe is also under SSL because otherwise it wouldn't work..
Works perfectly! I didn't know parent
can be used as global variable, like this
are.
Thank you so much! Saved the day!
Perfect, it really works :)
Niceeeeeeeeeeeeee
Thank you!
thanks!
It is working w/o iframe ? use window.open instead of iframe