Вы правы, похоже, ваш код не работает на Android, но отлично работает на iOs ...
Это странно, похоже, что postMessage не работает назагрузка первой страницы, но если вы вызываете ее с задержкой, например, onFocus, она работает как положено.
Например, попробуйте этот скрипт:
let Script1 = `
document.getElementById("input").addEventListener("focus", function() {
var data = {
type: "OnFocusEvent",
message : "OnFocusEvent"
};
window.postMessage(JSON.stringify({data}),"*");
});
document.getElementById("input").addEventListener("blur", function() {
var data = {
type: "OnBlurEvent",
message : "OnBlurEvent"
};
window.postMessage(JSON.stringify({data}),"*");
});
`;
onMessage={event => {
console.log(event.nativeEvent.data);
console.log(JSON.parse(event.nativeEvent.data));
const messageData = JSON.parse(event.nativeEvent.data);
const messageType = messageData.type;
switch(messageType) {
case "OnFocusEvent":
console.log("Do whatever you want onFocus")
break;
case "OnBlurEvent":
console.log("Do whatever you want onBlur")
break;
default:
console.log("do nothing");
break;
}
}}
Вот пример на закуску: https://snack.expo.io/rkANOd9lN
Надеюсь, это поможет:)