gpt4 book ai didi

javascript - 跟踪像素可以从远程服务器执行 javascript 吗?

转载 作者:行者123 更新时间:2023-11-30 13:25:22 24 4
gpt4 key购买 nike

我想将跟踪像素放在第 3 方 html 文件中,该文件将调用将返回 javascript 的 servlet。这个 javascript 应该从本地存储中获取一个值并将它报告给其他 servlet。例如:

跟踪像素:

<img src="http://myserver.com/report" width="1" height="1">

报告 servlet 将返回以下 javascript:

var value= localStorage.getItem("myLocalStorageKey");
var serverUrl = "www.myserver.com/myservlet?value=" + value;
var xmlHttp = new XMLHttpRequest();
xmlHttp.open("GET", serverUrl, true);
xmlHttp.send("");

这不起作用,因为 src 属性不应处理 javascript。有什么办法可以做到这一点?如果将从第 3 方 html 页面调用 javascript,它将无法从本地存储中获取值,因为该值是从“myserver.com”域而不是从第 3 方域输入的。

有什么想法吗???

谢谢,丹妮

最佳答案

这行不通,期间。 Javascrsipt 对 xmlhttprequests 有一个“同源”安全策略。该脚本的源将是您的服务器,因此它无法联系除您之外的任何其他服务器。

您可以改用 JSONP 来绕过它,它会动态构建/插入完整的 <script>...</script>标记/代码设置到页面的 DOM 中,但你仍然坚持通过 <img> 加载它的事实标记,无论如何都不会执行代码。

相反,考虑做类似的事情

<script type="text/javascript" src="http://yourserver/track_me.js"></script>

并使用该脚本提供 jsonp 创建代码。

关于javascript - 跟踪像素可以从远程服务器执行 javascript 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8702506/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com