html5跨域数据传递,postMessage
在html5中有个支持跨域传递的方法postMessage,可是实现iframe之间的数据传递!
代码如下:数据发送页面
<!DOCTYPE HTML> <html > <head> <meta charset="utf-8"/> <meta name="copyright" content=""/> <meta name="keywords" content=""/> <meta name="description" content=""/> <title></title> </head> <body> <div class="color"> <input type="text" value="" class="getColor"/> <input type="button" value="发送颜色" /> </div> <iframe src="http://localhost/send/index.html" width="400" height="300"></iframe> </body> </html> <script type="text/javascript" src="js/jquery.min.js"></script> <script> $(function(){ $("#button").click(function(){ var color = $(".getColor").val().toString(); window.frames[0].postMessage(color,'http://localhost/send/index.html'); }); }); </script>
数据接收页面
<!DOCTYPE HTML> <html > <head> <meta charset="utf-8"/> <meta name="copyright" content=""/> <meta name="keywords" content=""/> <meta name="description" content=""/> <title></title> </head> <body> <div > </div> </body> </html> <script type="text/javascript" src="js/jquery.min.js"></script> <script> $(function(){ var color = $("#color"); window.addEventListener('message',function(e){ var s_color=e.data; color.css('background-color','#'+s_color); },false); }); </script>
当在发送页面改变颜色值的时候,嵌入的iframe的页面背景色直接就被修改了,效果很好!
- 上一篇 »PHP 服务器端处理跨域问题
- 下一篇 »HTML中的post和get