• 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>
    

      

  • 相关阅读:
    WPFlog4net学习笔记(一)
    C#比较两个List是否相同_SequenceEqual
    01.HTML基础
    startActivityForResult()被标注弃用,推荐使用registerForActivityResult()方法
    02.Android项目介绍
    07.活动的生命周期
    03.活动Activity
    06.通过意图传递数据
    04.Toast、Menu、销毁活动
    05.显式意图、隐式意图
  • 原文地址:https://www.cnblogs.com/wangyunhui/p/15044188.html
Copyright © 2020-2023  润新知