美文网首页
RN-WebView 网页里面的图片实现点击方法

RN-WebView 网页里面的图片实现点击方法

作者: 以德扶人 | 来源:发表于2022-07-20 10:58 被阅读0次

我这边是有个需求要浏览的网页实现图片点击放大,实现方法大概如下

添加接收onMessage

<WebView 
    ...
    source={{
        html:changeHtmlTag(content)
    }}
    onMessage={event=>{
        console.log('onMessage Result, ', event.nativeEvent, typeof event.nativeEvent.data)
        if(checkImageUri(event.nativeEvent.data)){
            //具体的点击事件就放这里
            setPressedImageUri(event.nativeEvent.data);
        }
    }}
    ...
/>

修改img标签加入传出方法

 const changeHtmlTag = (text) => {
    let newText = text.replace(/<img /g, '<img onclick="image(this)" ');

    return `
        <script>
            function image(img){
                // alert(img.src);
                // console.log('img after click', img);
                window.ReactNativeWebView.postMessage(img.src)
            }
        </script>
        ${newText}
    `;
  }

检测标签uri

const checkImageUri=(uri)=>{
      return typeof uri==='string' && uri.includes('http');
  }

相关文章

网友评论

      本文标题:RN-WebView 网页里面的图片实现点击方法

      本文链接:https://www.haomeiwen.com/subject/hrpeirtx.html