isTrusted=false onMessage postMessage -解决方案

{"isTrusted": "false"} H5嵌套在react native app webview中时,app与HTML之间通信.出现这个原因是在html端使用 JSON.stringify(data),并且两个目标平台不同源。翻译过来就是事件来源不可信.
 

react native端:postMessage

***.postMessage('string');

H5端:onMessage

{"isTrusted": "false"}

window.addEventListener("message",function(event){ 

    JSON.stringify(event);// {"isTrusted": "true"} || {"isTrusted": "false"} 
 })

MDN:
返回一个布尔值,为true表明当前事件是由用户行为触发(比如说真实的鼠标点击触发一个click事件), 为false表明事件由一个脚本生成的(使用事件构造方法,比如event.initEvent)

window.postMessage = function(event){}

var bool = event.isTrusted;

 


解决方法{"isTrusted": "false"}
1.对于event对象不要进行string转化
2.直接取出event.data属性

实验:

isTrusted=false onMessage postMessage -解决方案_第1张图片

翻遍百度都没有解决方式,在这里可以找到答案。

你可能感兴趣的:(React,Native开发,react,native,H5,isTrusted,事件通信)