繁体   English   中英

在浏览器中打开新标签的问题

[英]Problem with opening new tab in a browser

对于一些交互式图形,我们在 HTML 页面中使用画布。 在画布内,我们有“类似链接”的控件来将用户链接到外部资源。 由于画布,我们不使用<a href="">标签,但我们通过 JS 代码打开新的浏览器选项卡,如下所示:

this.pixiLayout.App.renderer.view.addEventListener('click', () => {
    if (this.pixiLayout.externalUrl) {
        window.open(this.pixiLayout.externalUrl, '_blank');
    }
});

问题:谷歌分析(前端)向我们显示的点击次数比来自第三方资源的实际“页面浏览量”分析多得多,高达 10-20 倍。 这意味着用户点击了链接(并由 GA 记录),但由于某种原因,链接未打开,或打开但未在新选项卡中加载。 我知道广告/弹出窗口拦截器。 对于一定比例的用户来说可能是这种情况。 但对于 90% 的用户来说,情况并非如此,就像我们一样。

我们无法在我们拥有的任何设备上重现这种行为。

问题:这可能是由正常的浏览器政策或限制引起的,可能会像我们的情况一样导致新标签的阻止? 它可能就像我还不知道的现代浏览器的“新功能”吗?

好的,问题出在我们自己的代码中。 GA 的事件触发(我们使用自定义事件)是在代码的不同位置实现的,而不是实际操作 - window.open() 它们应该在相同的用户操作上被调用 - 用户点击。 但事实并非如此,特别是对于移动设备。 当用户点击那个交互式的、类似链接的控件并向上或向下移动手指(用于滚动)时,它会触发负责跟踪“点击”的自定义事件。 但是在这种情况下不会触发实际的“点击”事件。

结论:永远不要在一个地方做一个实际的动作,并在代码的另一个地方“收集那个动作的分析”。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM