mirror of
https://github.com/zhigang1992/react-native.git
synced 2026-05-22 19:39:40 +08:00
Implement a postMessage function and an onMessage event for webviews …
Summary: JS API very similar to web workers and node's child process. Work has been done by somebody else for the Android implementation over at #7020, so we'd need to have these in sync before anything gets merged. I've made a prop `messagingEnabled` to be more explicit about creating globals—it might be sufficient to just check for an onMessage handler though.  Closes https://github.com/facebook/react-native/pull/9762 Differential Revision: D4008260 fbshipit-source-id: 84b1afafbc0ab1edc3dfbf1a8fb870218e171a4c
This commit is contained in:
committed by
Facebook Github Bot
parent
6ea26c01de
commit
abb8ea3aea
28
Examples/UIExplorer/js/messagingtest.html
Normal file
28
Examples/UIExplorer/js/messagingtest.html
Normal file
@@ -0,0 +1,28 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>Messaging Test</title>
|
||||
<meta http-equiv="content-type" content="text/html; charset=utf-8">
|
||||
<meta name="viewport" content="width=320, user-scalable=no">
|
||||
</head>
|
||||
<body>
|
||||
<p>Messages recieved from React Native: 0</p>
|
||||
<p>(No messages)</p>
|
||||
<button type="button">
|
||||
Send message to React Native
|
||||
</button>
|
||||
</body>
|
||||
<script>
|
||||
var messagesReceivedFromReactNative = 0;
|
||||
document.addEventListener('message', function(e) {
|
||||
messagesReceivedFromReactNative += 1;
|
||||
document.getElementsByTagName('p')[0].innerHTML =
|
||||
'Messages recieved from React Native: ' + messagesReceivedFromReactNative;
|
||||
document.getElementsByTagName('p')[1].innerHTML = e.data;
|
||||
});
|
||||
|
||||
document.getElementsByTagName('button')[0].addEventListener('click', function() {
|
||||
window.postMessage('"Hello" from the web view');
|
||||
});
|
||||
</script>
|
||||
</html>
|
||||
Reference in New Issue
Block a user