A-A+

jQuery同域跨iframe操作DOM例子

2016年01月11日 前端设计 暂无评论 阅读 6 views 次

下面为各位来介绍一个jQuery同域跨iframe操作DOM例子,如果各位对于jquery跨域操作不了解可以和小编一起来看看本文章吧。

iframe目前还是比较流行的,许多地方都通过它来实现特殊的情况。比如说传统的上传、select在ie6下、代理、跨域等等。今天呢,简要的记述一下跨iframe的相关操作,主要是用jQuery操作DOM结构方面。

1、父框架操作iframe

  1. <iframe src="a.php" id="aa"></iframe>  
  2. <iframe src="b.php" id="bb"></iframe>  
  3. <input type="button" id="read-aa" value="读取iframe #aa">  
  4. <input type="button" id="write-aa" value="写入iframe #aa">  
  5. jQuery:  
  6. $('#read-aa').click(function()  
  7. {  
  8.  var v=$('#aa').contents().find('body').html();  
  9.  alert(v);  
  10. });  
  11. $('#write-aa').click(function()  
  12. {  
  13.    
  14.  $('#aa').contents().find('div').append('<hr>这是index.php操作aa.php写入的内容');  
  15. });  

主要方法是 contents(),读取iframe。

2、iframe跨父框架操作iframe

bb.php

  1. <!DOCTYPE html>  
  2. <meta charset="utf-8">  
  3. <title>bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</title>  
  4. <script src="public/jQuery.js"></script>  
  5. <script>  
  6. $(function()  
  7. {  
  8.  $('#read-parent-aa').click(function()  
  9.  {  
  10.   var v=$('body',parent.document).find('#aa').contents().find('body').html();  
  11.   alert(v);  
  12.  });  
  13.  $('#write-parent-aa').click(function()  
  14.  {  
  15.   $('body',parent.document).find('#aa').contents().find('div').append('<hr>这是bb.php操作aa.php写入的内容');  
  16.  });  
  17. });  
  18. </script>  
  19. <div>  

这是iframe #bb里的内容

  1. </div>  
  2. <input type="button" id="read-parent-aa" value="跨父读取iframe #aa">  
  3. <input type="button" id="write-parent-aa" value="跨父写入iframe #aa">  

主要方法是parent.document。

完整例子:

  1. <!DOCTYPE html>  
  2. <meta charset="utf-8">  
  3. <title>jQuery操作iframe</title>  
  4. <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>  
  5. <iframe src="a.php" id="aa"></iframe>  
  6. <iframe src="b.php" id="bb"></iframe>  
  7. <input type="button" id="read-aa" value="读取iframe #aa">  
  8. <input type="button" id="write-aa" value="写入iframe #aa">  
  9. <script>  
  10. $(function()  
  11. {  
  12.  $('#read-aa').click(function()  
  13.  {  
  14.   var v=$('#aa').contents().find('body').html();  
  15.   alert(v);  
  16.  });  
  17.  $('#write-aa').click(function()  
  18.  {  
  19.     
  20.   $('#aa').contents().find('div').append('<hr>这是index.php操作aa.php写入的内容');  
  21.  });  
  22. });  
  23. </script>  
标签:

给我留言