用户真实的点击操作和代码模拟的点击操作有什么区别呢?例如NodePlayer中对于用户真实事件的监听?-灵析社区

kunkun小黑子

怎么区分点击事件是用户的真实操作还是代码触发的呢? 目前在使用NodePlayer播放器时遇到一个问题,使用它的自动播放时,一开始视频是没有声音的,得点击一下才有声音,官方API给出的解释以及解决方法如下: ![image.png](https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20250110/3b71bcaeed80d3da4c7dfb01f8d96b05.png) 官方API说当点击播放器的时候,声音可以恢复。 但如果我们想实现无感知操作,不想让用户再多一步点击操作,通过在代码里自己调用click去触发点击事件,声音恢复无效。 但无论是使用.click和创建一个点击事件其实都能触发监听点击事件的方法,说明代码触发的点击是生效了的,但为什么声音恢复无效呢?NodePlayer官方API上说“需要由一个真实的用户交互操作来恢复,不能使用代码”,但两者都是能触发监听点击事件的方法,NodePlayer是怎么区分到底是真实的用户操作还是代码触发的呢? var btn = document.getElementById('btn'); //自动点击方法一 var event = new MouseEvent('click', { 'view': window, 'bubbles': true, 'cancelable': true }); btn.dispatchEvent(event); //自动点击方法二 btn.click() //监听点击事件 btn.addEventListener('click', function() { console.log('被点击了') }); NodePlayer相关文档地址:[https://www.nodemedia.cn/doc/web/#/1/3](https://link.segmentfault.com/?enc=9yMKIXWJBmICxFXpAIh15A%3D%3D.wlubGtGakTd%2B3A2SUiOmWN2TOxCkOUPifWibn8JQPjK90H1OmDkfLmrLF8HDJ%2B0i)

阅读量:296

点赞量:18

问AI
事件对象中有个只读属性,isTrusted, 仅用户操作产生的事件对象"isTrusted = true", 模拟点击"isTrusted = false"