Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/467.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在浏览器中打开新选项卡时出现问题_Javascript_Html5 Canvas_Pixi.js - Fatal编程技术网

Javascript 在浏览器中打开新选项卡时出现问题

Javascript 在浏览器中打开新选项卡时出现问题,javascript,html5-canvas,pixi.js,Javascript,Html5 Canvas,Pixi.js,对于一些交互式图形,我们在HTML页面中使用画布。在画布内部,我们有类似链接的控件将用户链接到外部资源。 由于canvas,我们不使用标记,但我们通过JS代码打开了新的浏览器选项卡,如下所示: this.pixiLayout.App.renderer.view.addEventListener('click', () => { if (this.pixiLayout.externalUrl) { window.open(this.pixiLayout.externa

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

this.pixiLayout.App.renderer.view.addEventListener('click', () => {
    if (this.pixiLayout.externalUrl) {
        window.open(this.pixiLayout.externalUrl, '_blank');
    }
});
问题是: Google Analyticsfront end向我们展示的点击量比第三方资源的实际页面浏览量分析要多得多,高达10-20倍。 这意味着用户点击了链接并被GA记录下来,但由于某种原因,链接没有打开,或者打开了但没有加载到新的选项卡中。 我知道广告/弹出窗口拦截器。对于某些百分比的用户来说,这可能是一种情况。但对于90%的用户来说,情况并非如此

我们无法在我们拥有的任何设备上复制这种行为

问题: 这可能是因为正常的浏览器策略或限制导致新标签被阻塞,就像我们的例子一样吗?
这会不会像我还不知道的现代浏览器的新功能一样?

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


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

在所有浏览器中都会发生这种情况?听起来不太对…10-20次。通过90%的客户端重复相同的操作来加载页面。没有人会这么做。你确定你已经正确设置了google analytics事件,并且没有意外地将正常交互计数为点击以导航打开新选项卡或窗口客户端吗option@Blindman67,这意味着只有10-5%的用户在一个新的选项卡中加载了网页。@ArjanPoortman,不是,主要是在手机上。这种类型的信息给了我一个线索来解释问题的真正原因。