【问题标题】:JS code works if launched in webView using loadUrl() but not evaluateJavascript()如果在 webView 中使用 loadUrl() 而不是 evaluateJavascript() 启动 JS 代码就可以工作
【发布时间】:2016-11-03 13:19:51
【问题描述】:

我需要在 Android webView 中播放 html5 video 标签中的视频。 我用的是安卓方法

webView.loadUrl("javascript:" + url);

以前,但决定用现代方法替换它

webView.evaluateJavascript(url, null);

我遇到了evaluateJavascript() 方法的问题:

"在 'HTMLMediaElement' 上执行 'play' 失败:API 只能是 由用户手势启动。”

但是对于loadUrl(),这个问题没有被触发。 如何使用evaluateJavascript()和html video标签播放视频?

【问题讨论】:

  • 为什么?如果它与其他方法一起使用,请使用其他方法。真正的问题是什么?
  • @Pamblam evaluateJavascript() 允许获取返回 JS 代码的结果。 loadUrl() 不允许这样做。
  • 使用JavascriptInterface 让您的webview JS 与宿主应用程序通信..
  • @Pamblam JavascriptInterface 允许从 JS 端调用 Java 方法。我需要反之亦然 - 从 Java 端调用 JS 方法。

标签: javascript android android-webview


【解决方案1】:

在 webview 上试试这个,之后应该可以工作:

myWebView.getSettings().setMediaPlaybackRequiresUserGesture(false);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-01-17
    • 2012-12-26
    • 2015-09-03
    • 2011-12-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多