“Protocols, domains, and ports must match” problem

2019-03-25 02:55发布

问题:

My website have these error messages when i view it on console. Can anybody tell me what is the problems that usually caused these error messages?

Blocked a frame with origin "mysite" from accessing a frame with origin "facebook". The frame being accessed set "document.domain" to "facebook", but the frame requesting access did not. Both must set "document.domain" to the same value to allow access. contentscript_siteoverlay_bin.js:78

Blocked a frame with origin "mysite" from accessing a frame with origin "youtube". Protocols, domains, and ports must match. contentscript_siteoverlay_bin.js:78

Blocked a frame with origin "mysite" from accessing a frame with origin "googleads". Protocols, domains, and ports must match. contentscript_siteoverlay_bin.js:78

Blocked a frame with origin "mysite" from accessing a frame with origin "facebook". The frame requesting access has a protocol of "http", the frame being accessed has a protocol of "https". Protocols must match.

thank you for your help.

回答1:

iframes and the main page have to match protocols ( Http:// and Https:// )

a secure site can not communicate with a not-secure site

just make everything secure to make things easier. Sites like Facebook are going to require it anyways.



回答2:

Can you provide some information about the browser where you're getting those errors?

Because Chrome have a know error related with your issue. More info here.



回答3:

You cannot access values in the embedded facebook page. That is against the Same Domain Policy. The two sites can communicate using postMessage if you control both sites, but I doubt that you control the facebook part ...