injectedJavaScript webView的这个方法使用



  • 需要进入视频页自动播放视频,设置了官方的 mediaPlaybackRequiresUserAction={false}不管用,然后我插入j s代码页并不能自动播放,有人插入过js代码吗

    let jscodeTest = 'document.addEventListener("DOMContentLoaded", init, false);' +
    'function init() {'+
    'document._video = document.getElementsByTagName("video")[0];' +
    'document._video.play();}';

    <WebView
    source={{uri:'https://v.qq.com/iframe/player.html?vid=v0561w7vjli&tiny=0&auto=0',method: 'GET'}}
    javaScriptEnabled={true}
    ref="myWebView"
    injectedJavaScript={jscodeTest}
    domStorageEnabled={true}
    allowsInlineMediaPlayback={true}
    mediaPlaybackRequiresUserAction={false}
    scalesPageToFit={false}
    style={styles.backgroundVideo}/>



  • 时机问题,你注入的时候,所有js都已经加载并且执行完成了,再加进去DOMContentLoaded事件就触发不了了。官方的webview基本上不能运用于商业项目,还有较多其他问题,需要你修改webview组件。


登录后回复