Adam Zerner Adam Zerner - 2 months ago 31
AngularJS Question

Failed to execute 'postMessage' on 'DOMWindow': https://www.youtube.com !== http://localhost:9000

This is the error message that I get:

Failed to execute 'postMessage' on 'DOMWindow': The target origin provided
('https://www.youtube.com') does not match the recipient window's origin
('http://localhost:9000').


I've seen other similar problems where the target origin is
http://www.youtube.com
and the recipient origin is
https://www.youtube.com
, but none like mine where the target is
https://www.youtube.com
and the origin is
http://localhost:9000
.


  1. I don't get the problem. What is the problem?

  2. How can I fix it?


Answer

I believe this is an issue with the target origin being https. I suspect it is because your iFrame url is using http instead of https. Try changing the url of the file you are trying to embed to be https.

For instance:

var id = getId(url);
  return '//www.youtube.com/embed/' + id + '?showinfo=0&enablejsapi=1&origin=http://localhost:9000';
}

to be:

var id = getId(url);
  return 'https://www.youtube.com/embed/' + id + '?showinfo=0&enablejsapi=1&origin=http://localhost:9000';
}
Comments