91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Html5中postmessage如何實現子父窗口傳值

發布時間:2020-10-23 15:12:45 來源:億速云 閱讀:201 作者:小新 欄目:web開發

這篇文章主要介紹了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>


<h2>The New Window</h2>


<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中postmessage如何實現子父窗口傳值內容對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,遇到問題就找億速云,詳細的解決方法等著你來學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

布尔津县| 民和| 安阳县| 杭州市| 喀什市| 陆河县| 湟中县| 武穴市| 连山| 百色市| 嘉荫县| 永仁县| 杭锦后旗| 腾冲县| 额敏县| 虹口区| 阳春市| 商洛市| 彰武县| 陆丰市| 韶山市| 麻城市| 醴陵市| 德令哈市| 介休市| 哈尔滨市| 福清市| 洪泽县| 凤城市| 涞水县| 阿克苏市| 祁连县| 咸宁市| 正定县| 安新县| 崇左市| 绥棱县| 叙永县| 通化市| 化州市| 高雄县|