zoukankan      html  css  js  c++  java
  • iframe父子组件传值

    父组件:index.html

    <!DOCTYPE html>
    <html>
    	<head>
    		<meta charset="utf-8">
    		<title></title>
    	</head>
    	<body>
    		<iframe src="iframe.html" width="200" height="200" id="iframe_demo"></iframe>
    		<input type="button" name="" id="" value="父向子传值" onClick="sendBtn()" />
    	</body>
    	<script type="text/javascript">
    		// 父接受子的值
    		/**
    		 * 跨源通信-接收方
    		 * @param {event}  = [value] 
    		 * @param {function}  = [value] 
    		 * @param {useCapture}  布尔可选 指定事件是否在捕获或冒泡阶段执行。
    		 */
    		window.addEventListener("message", function(data) {
    			console.log('父收到的数据:', data.data);
    		}, false);
    		
    		// 父向子传值
    		function sendBtn() {
    			let iframe = document.getElementById('iframe_demo');
    			let json = {
    				name:'你好我是父'
    			};
    			iframe.contentWindow.postMessage(json, '*');
    		}
    	</script>
    </html>
    

      子组件:iframe.html

    <!DOCTYPE html>
    <html>
    	<head>
    		<meta charset="utf-8">
    		<title></title>
    	</head>
    	<body>
    		<input type="button" name="" id="" value="子向父传值"  onClick="sendBtn()"/>
    	</body>
    	<script type="text/javascript">
    	function sendBtn(){
    		// 子向父传值
    		/**
    		 * 跨源通信-发送方
    		 * @param {massage}  = [value] 
    		 * @param {targetOrigin}  = [value] 
    		 */
    		let json = {
    			name:'你好我是子'
    		};
    		window.parent.postMessage(json, '*');
    	}
    	// 子接收父的值
    	window.addEventListener("message", function(data) {
    		console.log('子收到的数据:', data.data);
    	}, false);
    	
    		
    	</script>
    </html>
    

      

  • 相关阅读:
    eclipse版本、代号
    eclipse中jdk及编译器版本问题
    改变cmd命令行颜色
    mysql-installer-community-8.0.12.0的安装
    算法简介
    Java--将数据以文本形式导出
    安装MySQL
    网络配置
    电脑拷软件到其他设备
    探针设备
  • 原文地址:https://www.cnblogs.com/wangyunhui/p/15044188.html
Copyright © 2011-2022 走看看