做者 zhangljavascript
<!--父-->
<iframe src="./children.html" frameborder="1"></iframe>
<!--获取子变量-->
<script> var cIframe = document.getElementsByTagName('iframe')[0]; cIframe.onload = function () { console.log(cIframe.contentWindow.childrenAge); }; </script>
复制代码
<!--子-->
<!--定义变量-->
<script> var childrenAge = 20; </script>
复制代码
<!--父-->
<iframe src="./children.html" frameborder="1"></iframe>
<!--定义变量-->
<script> var fatherAge = 50; </script>
复制代码
<!--子-->
<!--获取变量-->
<script> var fIframe = window.parent; console.log(fIframe.fatherAge); </script>
复制代码
iframe(dom元素).onload = function () {}
复制代码
iframe.onreadystatechange = function () {
if (iframe.readyState === 'complete' || iframe.readyState === 'loaded') {
alert('Local iframe is now loaded');
}
}
复制代码
<!--origin http协议-->
<iframe src="./iframe2.html" frameborder="1"></iframe>
<script> var oIframe = document.getElementsByTagName('iframe')[0]; var oIframeSrc = oIframe.src; var age = 55; document.onclick = function () { oIframe.src = oIframeSrc + '#' + age; age++; }; </script>
复制代码
<!--target file协议-->
<div>iframe2222</div>
<script> var lct = window.location; var preHash = lct.hash; setInterval(function () { if (preHash !== lct.hash) { console.log(lct.hash); preHash = lct.hash; } }, 300); </script>
复制代码
触发origin页面点击事件,查看target页面的执行结果html
这里须要借助一个临时页面充当两个跨域页面的桥梁java
<!--target http协议-->
<iframe src="./iframe2.html" frameborder="1"></iframe>
<script> var oIframe = document.getElementsByTagName('iframe')[0]; var flag = true; oIframe.onload = function () { if (flag) { oIframe.src = './temp.html'; flag = false; } else { console.log(oIframe.contentWindow.name); } }; </script>
复制代码
<!--tmep-->
空
复制代码
<!--orgin file协议-->
<div>iframe2222</div>
<script> window.name = 20; </script>
复制代码