我有一些YouTube视频是懒惰加载在一个模式。iFrames是在打开模式时生成的,并在模式关闭时销毁。GTM跟踪是在youtube iFrame API启用的情况下工作的,默认的GTM YouTube触发器用于启动、停止和进度。
但是,我注意到,如果用户启动视频并关闭模式,而没有先隐式地停止或暂停视频,即使iFrame不再位于DOM中,进度触发器也会继续触发。基本上,每个视频都可以100%回放,即使你听不到或看不到它。
我曾尝试使用iFrame应用程序接口在关闭时停止或暂停视频,但似乎无法修复。我还在API中的player实例上调用了destroy(),可能是因为它是我的player副本,而不是GTM的副本。
另外,需要注意的是,由于iFrame API使用onYouTubeIframeAPIReady()的全局方法调用,为了让标记管理器和我自己的代码都能工作,我必须捕获标记管理器的版本,并在我自己的方法版本中触发它。他们真的应该将其更改为事件,而不是全局方法调用,这样多个脚本就可以使用API,而不会杀死其他脚本。
发布于 2021-03-11 01:43:28
好吧,我解决了我自己的问题,但这似乎是GTM或YouTube内置跟踪器中的错误,不确定是哪一个。
调用videoPause(),然后等待500毫秒,然后销毁和删除iframe就可以了。
即使iframe在页面上仍然可见,调用videoStop()也会停止播放,但百分比跟踪会继续触发,就像它仍在播放一样。这似乎是一个问题。
调用并立即销毁播放器或移除iFrame都不起作用。我想它需要一个滴答来处理调用和销毁中断。
https://stackoverflow.com/questions/66569432
复制相似问题