【发布时间】:2020-02-08 18:40:18
【问题描述】:
我想在iframe中写一条消息,然后通过submit按钮将其反转并发送到父窗口,我有反转功能但我不知道如何使用window.parent.postMessage这份工作。
reverse_service.html (iframe-child)
<!DOCTYPE html>
<html>
<body>
<input type="text" id="myInput" >
<button onclick="reverseString()">submit</button>
<script>
function reverseString() {
var str = document.getElementById("myInput").value;
var splitString = str.split("");
var reverseArray = splitString.reverse();
var joinArray = reverseArray.join("");
return joinArray;}
window.parent.postMessage(reverseString(), "*" )
</script>
</body>
</html>
父.html
<!DOCTYPE html>
<html>
<head>
<title>User Actions</title>
<meta charset="utf-8">
<script src="lib/jquery-3.2.1.min.js"></script>
<script>
/* global $ */
$(document).ready(function() {
'use strict';
$(window).on('message', function(evt) {
//Note that messages from all origins are accepted
//Get data from sent message
var data = evt.originalEvent.data;
//Create a new list item based on the data
var newItem = '\n\t<li>' + (data.payload || '') + '</li>';
//Add the item to the beginning of the actions list
$('#actions').prepend(newItem);
});
});
</script>
</head>
<body>
<iframe id="encoder_iframe" src="reverser_service.html"></iframe>
<ul id="actions">
</ul>
</body>
</html>
【问题讨论】:
-
stackoverflow.com/questions/8822907/…检查这个类似的问题已经回答了
标签: javascript iframe parent-child