我正在开发一个在移动设备上显示广告的系统。我们的客户可以使用他们的自定义 HTML 代码来制作广告。我们希望在用户点击此广告时收到通知。我可以用我的一些代码包装用户的代码。例如:
<div id="my-code" onclick="myFunction()">
<!-- users code -->
<a href="http://whatever.com/"> click me!</a>
<button onclick="someCode()" />
</div>
如您所见,用户可以在其广告中使用 JavaScript。单击广告时,我想通知外部服务器,但我不想更改广告的行为。我尝试了多种方法,但未能找到有效的方法:
- 我无法使用 ajax,因为 ajax 仅限于该域 页面(广告显示在外部页面上,无法连接 到我们的服务器)。另一种方法是使用跟踪像素,但是:
- 加载跟踪像素需要一些时间。如果用户单击
<a>
标记然后由myFunction()
添加的像素跟踪器不会被加载 在切换到新页面之前。我可以阻止传播 事件,但是: - 广告也需要获得此点击。我尝试在 JavaScript 中停止事件的传播,加载像素跟踪器,然后再次触发事件。不起作用 -
<a>
标签不会以这种方式被点击 - 由 javascript 触发的点击事件仅存在于 javascript 级别。
如有任何建议,我们将不胜感激。
最佳答案
也许你可以像 this fiddle
<body>
<div id="linkContainer">
<a target="_blank" href="http://www.icrc.org/eng/">Link</a>
</div>
<script type="application/javascript">
$(document).ready(function(){
function beforeLeave(){
alert("Outa here!"); //Replace with function to do ajax-call to server
}
$('#linkContainer > a').on('click', function() {
beforeLeave();
});
});
</script>
</body>
关于javascript - 如何在用户点击广告时发送通知?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21856341/