javascript - 当分析调用来自 IFRAME 时,Google Analytics 如何绕过同源策略?
问题描述
当 GA 呼叫来自 IFRAME 时,它如何获取父 URL?
通常,当 javascript 尝试访问其框架浏览器之外的任何内容时,会引发 SAME ORIGIN POLICY 错误。特别是对于 parent.document、parent.location 等。但是,当您检查发送回服务器的分析数据时,很明显该调用带有 window.top 的 URL。要做到这一点几乎是不可能的,我相信他们正在做一个聪明的黑客或正在获得优惠待遇。
示例:页面:http ://delhincr.kidzania.com/en-in/pages/virtual-tour IFRAME SRC:http : //walkinto.in/tour/W1vLiH5CbG-yePUsrc0WM(显然不是同源)
来自 IFRAME 的 GA 电话:
https://www.google-analytics.com/r/collect?v=1&_v=j71&a=944377214&t=pageview&_s=1&dl= http%3A%2F%2Fwalkinto.in%2Ftour%2FW1vLiH5CbG-yePUsrc0WM &dr= http%3A%2F %2Fdelhincr.kidzania.com%2Fen-in%2Fpages%2Fvirtual-tour &ul=en-us&de=UTF-8&dt=KidZania%20Delhi%20NCR&sd=24-bit&sr=1366x768&vp=1140x641&je=0&_u=CBCAEAAB~&jid=15810307988&cid= 770600375.1539312411&tid=UA-50632293-1&_gid=1805256933.1539654946&_r=1&z=1389492630
谷歌如何绕过这个?是否可以使用 IFRAME 中的 GA 到父页面上的 GA 的 postMessage?
解决方案
如果没有来自主页的约束(如 CSP),则(父)URL 可以在带有“document.referrer”的 iframe 内访问。
推荐阅读
- python - 如何为两个分类变量的每个变体打印直方图
- python - 如何使用带有 tkinter 的 tk.filedialog 保存 csv 文件?
- subdomain - 为什么从导航栏单击论坛链接时子域重定向会导致错误消息?
- python - 烧瓶中的测试和开发路线/数据库
- python - 获取错误即时消息 Django“异常值:名称'order_id'未定义”查询以列出子记录
- sql - 无法将字符串转换为时间戳
- node.js - 文件上传失败
- javascript - 为什么 React Bootstrap Card 没有在浏览器中显示?尽管使用了组件,但页面为空
- css - gtk_style_context_get_property 的 GTK4 等价物是什么?
- python - 从现有 CSV 文件向 CSV 文件添加列