react-native-webview使用postMessage后H5不能监听问题(iOS和安卓的兼容问题)

这篇具有很好参考价值的文章主要介绍了react-native-webview使用postMessage后H5不能监听问题(iOS和安卓的兼容问题)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

 chatgpt:

https://chat.xutongbao.top/文章来源地址https://www.toymoban.com/news/detail-652822.html

/* 监听rn消息 */
const eventListener = nativeEvent => {
    //解析数据actionType、extra
    const {actionType, extra} = nativeEvent.data && JSON.parse(nativeEvent.data) || {}
}
//安卓用document,ios用window
window.addEventListener('message', eventListener);
document.addEventListener('message', eventListener);
import uaParser from 'ua-parser-js'

let timer
let ua = uaParser(navigator.userAgent)

const handleWatchRNMessage = () => {
  if (window.ReactNativeWebView) {
    window.ReactNativeWebView.postMessage(JSON.stringify({ type: 'getToken' }))
  }

  const eventListener = (e) => {
    console.log('message', e.data)
    let payload = e.data ? JSON.parse(e.data) : {}
    let type = payload.type

    if (type === 'getToken') {
      localStorage.setItem('token', payload.token)
    } else if (type === 'getBrowserInfo') {
      const { browser } = ua
      window.ReactNativeWebView.postMessage(JSON.stringify({ type, browser }))
    }
  }

  if (window.platform === 'rn') {
    if (ua.os.name === 'iOS') {
      window.addEventListener('message', eventListener)
    } else {
      window.document.addEventListener('message', eventListener)
    }
  }
}

handleWatchRNMessage()

react-native-webview使用postMessage后H5不能监听问题(iOS和安卓的兼容问题),web前端,react native

参考链接:

https://blog.csdn.net/liuxingyuzaixian/article/details/125199131

https://chat.xutongbao.top/

到了这里,关于react-native-webview使用postMessage后H5不能监听问题(iOS和安卓的兼容问题)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • React Native Maps的使用

    React Native Maps是一个用于在React Native应用中显示地图的库。它提供了许多功能,如显示地图、标记位置、绘制多边形等。以下是React Native Maps的使用步骤: 首先,你需要在你的React Native项目中安装React Native Maps库。可以使用以下命令进行安装: 安装完成后,你需要链接React N

    2024年02月13日
    浏览(27)
  • 前端UNIAPP端webview嵌入H5使用说明文档

    一、关闭webView窗口 功能说明 关闭已经打开的Webview窗口,需先获取窗口对象或窗口id,并可指定关闭窗口的动画及动画持续时间。 参数说明 参数 是否必须 参数类型/固定值 说明 id_wvobj 是 String  要关闭Webview窗口id或窗口对象,若操作窗口对象已经关闭,则无任何效果。 使用

    2024年04月16日
    浏览(31)
  • 使用 React Native CLI 创建项目

    需要掌握的知识点 掌握 JavaScript 基础知识 掌握 React 相关基础知识 掌握 TypeScript 相关基础知识 安装软件前需要首先安装Chocolatey。Chocolatey 是一种流行的 Windows 包管理器。 安装 nodejs 和 JDK 安装需要的开发工具 VsCode Android Studio(主要是用来安装虚 SDK 和安装虚拟设备) 使用

    2024年02月14日
    浏览(47)
  • React Native Vector Icons的使用

    React Native Vector Icons是一个用于在React Native应用中使用矢量图标的库。它提供了许多常见的图标集,如FontAwesome、Ionicons等。 首先,你需要在你的React Native项目中安装React Native Vector Icons库。可以使用以下命令进行安装: 安装完成后,你需要链接React Native Vector Icons库到你的项目

    2024年02月13日
    浏览(23)
  • react-native-clipboard/clipboard使用

    Install the library using either Yarn: or npm: or

    2024年02月08日
    浏览(21)
  • uniapp使用webview将页面转换成图片支持h5、app、小程序

    在uniapp项目中新建主页和webview页面 index.vue代码 webview代码 实现效果

    2024年02月05日
    浏览(30)
  • react-native-gesture-handler 手势的使用

    要在React Native项目中使用react-native-gesture-handler,可以按照以下步骤进行设置: 1、首先,在你的React Native项目中安装react-native-gesture-handler。可以使用npm或者yarn命令来安装: 或者 2、安装完成后,需要链接react-native-gesture-handler到你的原生代码。运行以下命令: 3、接下来,在

    2024年02月11日
    浏览(24)
  • uni-app 使用webview加载H5打开微信小程序

    最近公司有个需求要求在app里点击一个功能打开小程序,并且关闭小程序回到app,模仿平安保险app。 毕竟我也是刚学习uni-app,找了很多资料,找到了一个天天外链的网站可以生成一个小程序的链接,使用uni的webview去加载这个链接,很好,需求满足,但是收费,那能不能自己

    2023年04月18日
    浏览(40)
  • 微信小程序使用webview内嵌h5页面 wx.miniProgram.getEnv失效问题

    背景 最近接到一个h5需求,和普通的h5不一样,这个h5页面是嵌入到小程序中使用的,需求简单来说就是展示一个跳转按钮,判断如果是小程序环境下就进行跳转到其他小程序页面。 实现思路 核心逻辑其实就是判断小程序环境这一块,我们可以直接使用wxsdk来进行判断小程序

    2024年02月09日
    浏览(41)
  • WebView交互架构项目实战(四):WebView与Native的通信框架手写实践

    其中wholeJS就是JS文件转化而来的字符串,然后调用 webView.loadUrl(\\\"javascript: \\\" + wholeJS); 1 就可以看到和之前一样的效果。 方式2: 通过evaluateJavascript方法 相较于loadUrl,evaluateJavascript的优势在于异步加载,还可以将执行JS代码的结果带回来,我们以下面一个小例子来说明。 我们在

    2024年04月29日
    浏览(27)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包