是否有可能使Java脚本将iframe中的最低域识别为源域还是最高域

时间:2018-10-18 07:41:44

标签: javascript cors

我正在尝试创建一个跨多个站点的脚本,并有一个中央服务器来管理所有这些站点的第三方跟踪像素。我遇到的问题是,我希望第三方跟踪像素跟踪到生成销售线索的原始域,而不是在iframe中触发它们时跟踪到顶级域。

我认为可以通过使用诸如阴影球之类的东西来控制跟踪像素可以看到的范围来实现,但是到目前为止,在我所有的尝试中,被跟踪的域都是顶级iframe链。

我知道问一个不带代码示例的问题很烦人,但是并不确定如何给出我要问的示例。我只能想到的两种方法是抢先更新原点var(我未能成功完成它并且似乎是杰里操纵的),或者以某种方式将第三方像素加载到范围控制的容器中(这就是我希望,但也没有设法完成)。在这一点上,即使是正确方向的观点也将有所帮助,因为我找不到能完成我作为开场参考所要完成的工作

清晰度编辑:

顶级网站获得的销售是来自底层网站的顶级网站iframe的容器,其中包含与该广告系列相关的所有第三方像素(facebook,google,google等)

topdomain.com: 

<iframe src="site.com/thank-you.php">

site.com/thank-you.php将是:

<!-- Facebook Pixel Code -->
<script>
!function(f,b,e,v,n,t,s){if(f.fbq)return;n=f.fbq=function(){n.callMethod?
n.callMethod.apply(n,arguments):n.queue.push(arguments)};if(!f._fbq)f._fbq=n;
n.push=n;n.loaded=!0;n.version="2.0";n.queue=[];t=b.createElement(e);t.async=!0;
t.src=v;s=b.getElementsByTagName(e)[0];s.parentNode.insertBefore(t,s)}(window,
document,"script","https://connect.facebook.net/en_US/fbevents.js");
fbq("init", "111"); // Insert your pixel ID here.
fbq("track", "PageView");
</script>
<noscript><img height="1" width="1" style="display:none"
src="https://www.facebook.com/tr?id=111&ev=PageView&noscript=1"
/></noscript>
<!-- DO NOT MODIFY -->
<!-- End Facebook Pixel Code -->

或任何发起它的活动(实际上是根据流量来源智能加载像素,以防止数据混合)问题是,facebook像素认为它是从最高级别的iframe触发的,而我尝试的是原始域链接到。基本上是试图写一些东西来防止数据跟踪像素加载到无关的广告系列上,这样它们就不会被动地进行数据挖掘,并且还控制了加载时可以访问的信息范围。

在该示例中,FB像素跟踪到topdomain.com,而不是site.com。长话短说,我正在尝试写一些东西来限制第三方跟踪像素的范围,以便网站所有者可以控制他们想要的东西,而信任第三方不会被动地挖掘任何东西。

1 个答案:

答案 0 :(得分:0)

如何在主页和iframe之间使用sendMessage,在“另一侧”使用一些JavaScript接收带有onmessage事件的消息,然后在其中发送跟踪像素请求。