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

问题描述 投票:0回答:1

对于某些交互式图形,我们在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%的用户而言并非如此。

而且我们无法在我们拥有的任何设备上重现此行为。

问题:可能是由于正常的浏览器策略或限制(可能会导致像我们这种情况那样)阻止新标签页引起的?就像我不知道的现代浏览器的“新功能”吗?

javascript html5-canvas pixi.js
1个回答
0
投票

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

结论:永远不要在一个位置执行实际操作,而在代码的另一个位置“收集该操作的分析”。

© www.soinside.com 2019 - 2024. All rights reserved.