javascript - Safari getDisplayMedia 必须从用户手势处理程序中调用

标签 javascript safari cross-browser

我的网站具有通过共享屏幕功能截取屏幕截图的功能。在 chrome 和 firefox 上一切正常,但在 safari 上出现错误“必须从用户手势处理程序调用 getDisplayMedia”。是否可以从代码本身模拟用户手势?我尝试使用 myButton.click() ,但它不会注册为用户手势。

最佳答案

无法从代码中生成用户手势。这个 safari 错误是由于事件(应该触发它的事件)的 isTrusted 属性为 false 而发生的。此属性是自动设置的,无法伪造。如果您执行真正的用户手势,则此属性为真,如果您从代码中调用事件,则此属性为假。在我的例子中,我只是生成了一个带有背景的面板,要求确认截取屏幕截图以使用真正的用户手势调用此操作。

关于javascript - Safari getDisplayMedia 必须从用户手势处理程序中调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62929138/

相关文章:

html - 在 Chrome 和 Safari 中使用 thead 的双边框间距

html - 字体平滑 :antialiased Vs. 变换:透视(0);

javascript - VueJS 不在 Safari 中渲染

html - 在固定模态窗口 css 中对齐

javascript - 为什么即使输入字段有输入,Angular ng-message 'when="required"' 也会触发?

javascript - 如何根据类别保留日期格式?

javascript - AngularJS - 将 this.value 传递给函数

javascript - 如何在不重新加载页面的情况下更改框架源

javascript - 使用 JavaScript 获取浏览器窗口宽度/高度的最可靠方法是什么?

css - IE 9 复选框大小调整