首页前端开发HTMLHtml5中postmessage实现子父窗口传值的代码

Html5中postmessage实现子父窗口传值的代码

时间2024-01-23 15:05:29发布访客分类HTML浏览684
导读:收集整理的这篇文章主要介绍了Html5中postmessage实现子父窗口传值的代码,觉得挺不错的,现在分享给大家,也给大家做个参考。这篇文章给大家分享的内容是关于HtML5中postmessage实现子父窗口传值的代码有一定的参考价值,有...
收集整理的这篇文章主要介绍了Html5中postmessage实现子父窗口传值的代码,觉得挺不错的,现在分享给大家,也给大家做个参考。这篇文章给大家分享的内容是关于HtML5中postmessage实现子父窗口传值的代码有一定的参考价值,有需要的朋友可以从参考一下,希望对你有所帮助。

最近做一个POS机终端遇到一个问题,子父窗口传值问题,因为POS机是两个屏幕,如果将一个页面拉长投射虽然可以做到两个屏幕显示,但是因为是触摸屏,当第一个屏幕在操作的时候会影响到第二屏幕,反之也是如此,既然需求明确了,问题也知道了,则我们需要两个窗口进行不同的操作

首先是父页面:

!DOCTYPE html>
    html>
    head>
    meta charset="UTF-8">
    tITle>
    Html5 postMessage/title>
    style>
#otherWin {
    width: 600px;
    height: 400px;
    background-color: #cccccc;
}
#txt {
    width: 500px;
    height: 300px;
    background-color: #cccccc;
}
    /style>
    /head>
    body>
    button id="BTn">
    open/button>
    button id="send">
    send/button>
    input type="text" id="message" />
    br/>
    br/>
     p id="txt">
    /p>
    script>
window.onload = function() {
    VAR btn = document.getElementById('btn');
    var btn_send = document.getElementById('send');
    var text = document.getElementById('txt');
     var win;
btn.onclick = function() {
    //通过window.open打开接收消息目标窗口win = window.open('http://127.0.0.1:8080/mngapp/chatroom/win.html', 'popUp');
}
btn_send.onclick = function() {
     // 通过 postMessage 向子窗口发送数据 win.postMessage( document.getElementById("message").value, 'http://127.0.0.1:8080/');
}
if (window.addEventListener) {
    //为window注册message事件并绑定监听函数window.addEventListener('message', receiveMsg, false);
}
else {
    window.attachEvent('message', receiveMsg);
}
//监听函数,接收一个参数--Event事件对象function receiveMsg(e) {
    console.LOG("Got a message!");
    console.log("Message: " + e.data);
    console.log("Origin: " + e.origin);
    text.innerHTML = "Got a message!br>
    " +"Message: " + e.data +"br>
    Origin: " + e.origin;
}
}
    ;
    /script>
    /body>
    /html>
    


然后再是子页面:

!DOCTYPE html>
    html>
    head>
    meta charset="UTF-8">
    title>
    Html5 postMessage/title>
    style>
#txt {
    width: 500px;
    height: 300px;
    background-color: #cccccc;
}
    /style>
    /head>
    body>
    h1>
    The New Window/h1>
    p id="txt">
    /p>
    input type="text" id="message" />
    button id="send">
    send/button>
    script>
 window.onload = function() {
    var text = document.getElementById('txt');
     var btn_send = document.getElementById('send');
    var PRent = null;
btn_send.onclick = function() {
     // 通过 postMessage 向父窗口发送数据 freceiveMsg(prent);
}
//监听函数,接收一个参数--Event事件对象function receiveMsg(e) {
    console.log("Got a message!");
    console.log("Message: " + e.data);
    console.log("Origin: " + e.origin);
    text.innerHTML = "Got a message!br>
    " +"Message: " + e.data +"br>
    Origin: " + e.origin;
    //获取父对象prent = e;
}
function freceiveMsg(e) {
    console.log("freceiveMsg:"+e);
    e.source.postMessage(document.getElementById("message").value,e.origin);
}
if (window.addEventListener) {
    //为window注册message事件并绑定监听函数window.addEventListener('message', receiveMsg, false);
}
else {
    window.attachEvent('message', receiveMsg);
}
}
    ;
    /script>
    /body>
    

相关文章推荐:

html5 video如何实现实时监测当前播放时间(代码)

html结合工业互联网实现智能飞机控制(附代码)

以上就是Html5中postmessage实现子父窗口传值的代码的详细内容,更多请关注其它相关文章!

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!

上一篇: html5 canvas用来绘制弧形的代码...下一篇:html5 video如何实现实时监测当前...猜你在找的html5相关文章 关于移动端h5开发相关内容总结2022-05-17html5教程-学表单的第二天2018-12-10html5教程-HTML5浏览器支持2018-12-10html5教程-HTML5智能表单2018-12-10html5教程-微信H5使用resLoader实现加载页效果2018-12-10html5教程-day01-初级-JS0-热身运动JS入门教程2018-12-10html5教程-html5shiv.js和respond.min.js2018-12-10html5教程-不同浏览器对于html5 audio标签和音频格式的兼容性2018-12-10html5教程-使用Html5实现手风琴案例2018-12-10html5教程-html5笔记2018-12-10 其他相关热搜词更多phpjavapython程序员load

若转载请注明出处: Html5中postmessage实现子父窗口传值的代码
本文地址: https://pptw.com/jishu/584341.html
HTML5中文件上传的代码 HTML5应用:离线的应用以及存储的应用

游客 回复需填写必要信息