我正在开发一个使用广告联盟的新网站,它是 https://viewing.nyc,但仍在不断改进中。目前已经在该网站上显示了一些广告,这些广告正常工作,也就是实际上展示了广告,但是它们会在 Safari 控制台输出大量无用信息。
我经常看到的消息是经典的:
Blocked a frame with origin "https://googleads.g.doubleclick.net" from accessing a frame with origin "https://viewing.nyc". Protocols, domains, and ports must match.
所以,我一直在琢磨这个问题,偶尔搜索解决方案,试图理解如何解决它。我使用以下代码实现了一个crossdomain.xml
文件:
<?xml version="1.0"?>
<!DOCTYPE cross-domain-policy SYSTEM "http://www.macromedia.com/xml/dtds/crossdomain-policy.dtd">
<cross-domain-policy>
<allow-access-from domain="*.youtube.com" secure="false"/>
<allow-access-from domain="*.doubleclick.net" secure="false"/>
<allow-access-from domain="*.2mdn.net" secure="false"/>
<allow-access-from domain="*.dartmotif.net" secure="false"/>
<allow-access-from domain="*.doubleclick.net" secure="true"/>
<allow-access-from domain="*.doubleclick.com" secure="true"/>
<allow-access-from domain="*.doubleclick.com" secure="false"/>
<allow-access-from domain="*.2mdn.net" secure="true"/>
<allow-access-from domain="*.dartmotif.net" secure="true"/>
<allow-access-from domain="*.gstatic.com" secure="false"/>
</cross-domain-policy>
但是没有成功。这个问题是由于我使用了.nyc
顶级域名,而广告联盟的网站使用了.com
吗?是否有一种方法可以规避这些错误?