【问题标题】:Safari getDisplayMedia must be called from a user gesture handlerSafari getDisplayMedia 必须从用户手势处理程序中调用
【发布时间】:2020-08-19 19:06:00
【问题描述】:

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

【问题讨论】:

  • 同样的问题!
  • @Dachstein,你解决了这个问题吗?

标签: javascript safari cross-browser


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-02-24
    • 2020-02-03
    • 1970-01-01
    • 2022-11-21
    • 2020-11-24
    • 1970-01-01
    • 2017-09-09
    • 1970-01-01
    相关资源
    最近更新 更多