我正在开发一个正在开发的分析项目中的问题。
我希望在特定页面上打开任何类型的模态时触发事件,页面未知,模态的类型可以是页面中的任何内容。
我不希望使用 Google Analytics 。
我试图在很长一段时间内找到解决方案。
我尝试过 window.open ,但我不想只用于window.open。它适用于所有类型的库和模态。
这是我到目前为止所做的,
<script type="text/javascript">
var windowOpen = window.open;
window.open = function(url, name, features, replace) {
alert("opening a window");
// do other stuff here
windowOpen(url, name, features, replace);
}
document.getElementById("myBtn").addEventListener("click", function() {
window.open("http://www.w3schools.com");
});
</script>
任何帮助将不胜感激,提前谢谢。
EDIT1 :我想到了我们可以做的一件事,那就是我们可以在DOM中寻找一些变化。因为通常弹出窗口会将DOM添加到现有DOM中以启用弹出窗口(但并非总是必要)。
答案 0 :(得分:0)
如果您使用的是PHP或同等产品,则可以使用ajax POST请求执行此操作,然后让服务器触发跟踪调用。通常,ajax请求需要针对它们正在运行的同一服务器(尽管there are workarounds),所以我通过使用PHP来解决它。我的javascript代码如下所示:
<script type="text/javascript">
$(document).ready(function() {
$('#yourModalId').on('shown.bs.modal', function (e) { //this event applies to bootstrap 3+ modals
var dd = new Date();
var trackingtime = Math.round(Math.abs(Math.sin(dd.getTime()))*1000000000)%10000000;
$.post("myApp/myTrackingPage",
{ "id" : "1234567",
"trackingtime": trackingtime
},
function(data){
console.log(data);
}
);
});
});
</script>