【发布时间】:2013-07-25 08:30:34
【问题描述】:
我在 iframe、来源、广告等方面遇到了难题。
所以我刚刚创建了一个新网站mockrs.com,并尝试在其中放置广告以产生一些收入。我的广告代码如下所示:
<aside id="leftAd" class="adWrapper160x600">
<div class="ad">
<script language="javascript" type="text/javascript" charset="utf-8">
cpxcenter_width = 160;
cpxcenter_height = 600;
</script>
<script language="JavaScript" type="text/javascript" src="http://ads.cpxcenter.com/cpxcenter/showAd.php?nid=4&zone=22607&type=banner&sid=18035&pid=17900&subid=">
</script>
</div>
</aside>
这段代码应该会呈现广告并且确实会呈现,但它们只是“占位符”广告。由于错误,未呈现真实广告。 Chrome 是这样说的:
阻止来源为“http://ads.cpxcenter.com”的框架访问来源为“http://mockrs.com”的框架。协议、域和端口必须匹配。 阻止来源为“http://mockrs.com”的框架访问来源为“http://ads.cpxcenter.com”的框架。协议、域和端口必须匹配。
我认为这可能与同源策略有关,但我不太确定,因为其他外部脚本执行没有问题,它们可以在我的网站上呈现 iframe(facebook 呈现其 Like 按钮,广告提供商呈现“占位符”广告)。
此外,Chrome 有时会显示两三个此类错误,有时根本不显示。我很困惑,你们能帮帮我吗?
【问题讨论】:
-
“我认为这可能与同源策略有关” 是的。我认为您一定是错误地嵌入了广告脚本。与“cpxcenter.com”或其他任何人交谈,以获取正确操作的说明。广告网站不应该依赖跨域访问。
-
仅供参考,您可以从
script标签中删除language(90 年代已弃用)和type(几乎永远不需要)属性。当脚本内容是 JavaScript 时,它们只不过是浪费空间。 -
我知道这些已被弃用或无用,但我刚刚从广告提供商那里复制了该 sn-p 并且不想更改任何内容,因为这个错误简直太疯狂了。我的同事已经给他们发了电子邮件,我们仍在等待回复。但是,我希望有人能尽快帮助我:)
标签: javascript ads same-origin-policy