当前位置:   article > 正文

iframe内部对象调用与反向调用

iframe 设置了反

iframe通常是页面内嵌的一个外部文件,我们可以通过Javascript访问iframe对象并操作iframe内嵌文件里面的DOM和Javascript对象。代码如下:

主页面文件index.html

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  5. <title>index - iframe内部对象调用与反向调用[iTsai]</title>
  6. </head>
  7. <body>
  8. <h3>页面最好在web容器(如:mongoose)中打开,chrome不支持iframe内函数离线调用</h3>
  9. <iframe id="ifrm" name="ifrm" src="iframe.html" width="800" height="200"></iframe>
  10. <br>
  11. <br>
  12. <input type="button" value="获取iframe文本框内容" onclick="getIframeTxt()">
  13. <input type="button" value="执行iframe页面函数 i_foo()" onclick="call_i_foo()">
  14. <input type="text" value="父页面文本框内容" id="p-txt">
  15. <script type="text/javascript">
  16. function p_foo(){
  17. alert('调用父页面 p_foo() 函数');
  18. }
  19. function getIframeTxt(){
  20. var iWindow = window.frames[0];//获取iframe页面window对象
  21. var iDocument = iWindow.document;获取iframe页面document对象
  22. var txt = iDocument.getElementById("i-txt").value;
  23. alert(txt);
  24. }
  25. function call_i_foo(){
  26. window.frames[0].i_foo();
  27. }
  28. </script>
  29. </body>
  30. </html>

子页面文件iframe.html

  1. <!DOCTYPE HTML>
  2. <html>
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  5. <title>iframe - iframe内部对象调用与反向调用[iTsai]</title>
  6. </head>
  7. <body>
  8. <h2>iframe</h2>
  9. <hr/>
  10. <input type="button" value="获取父页面文本框内容" onClick="getParentTxt()"/>
  11. <input type="button" value="执行父页面函数 p_foo()" onClick="call_p_foo()"/>
  12. <input type="text" value="iframe页面文本框内容" id="i-txt">
  13. <script type="text/javascript">
  14. function i_foo(){
  15. alert('调用iframe面 i_foo() 函数');
  16. }
  17. function getParentTxt(){
  18. var pWindow = window.parent;//获取父页面window对象
  19. var pDocument = pWindow.document;获取父页面document对象
  20. var txt = pDocument.getElementById("p-txt").value;
  21. alert(txt);
  22. }
  23. function call_p_foo(){
  24. window.parent.p_foo();
  25. }
  26. </script>
  27. </body>
  28. </html>

页面最好在web服务器(如:mongoose)中打开,chrome不支持离线iframe内函数调用,被认为是不安全的脚本访问。

iframe内部对象调用与反向调用

转载于:https://my.oschina.net/tsai/blog/78237

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小小林熬夜学编程/article/detail/156343
推荐阅读
相关标签
  

闽ICP备14008679号