zoukankan      html  css  js  c++  java
  • html5中的postMessage解决跨域问题

      解决跨域问题的方法有很多,如:图像ping(简单)、jsonp(缺点是不能实现跨域post)、CROS(CORS的本质让服务器通过新增响应头Access-Control-Allow-Origin,通过HTTP方式来实现资源共享,让每个请求的服务直接返回资源.它使用了HTTP交互方式来确定请求源是否有资格请求该资源,并且通过设置HTTP Header来控制访问资源的权限.缺点也是兼容性)。

      html5中的postMessage和onmessage可以方便的实现跨域post。写个例子,实现window与iframe的通信。

      

    <!DOCTYPE html>
    <html>
    <head>
    	<title></title>
    </head>
    <body>
    	<iframe src="http://taobao.com/1" style="display:none" id="taobao"></iframe>
    	<script>
    //现有代码如下:
    		var json={};
    		var winFrame=document.getElementById('taobao').contentWindow;
    		winFrame.sendMessage(json,"http://taobao.com");
    
    		window.addEventListener("message",hander,false);
    		function hander (event) {
    			document.getElementById('data').value=event.data;
    		}
    		/*
    			//iframe zhong
    			window.addeventListener("message",hander,false);
    			window.parent.postMessage(data,"*")
    		*/
    	</script>
    </body>
    </html>
    

      

  • 相关阅读:
    jQuery插件学习(一)
    全屏滚动
    Js与Jq 获取浏览器和对象值的方法
    HTML5 布局标签
    CSS3笔记(一)
    CSS的一些思考(一)
    js学习(一)
    CSS Hacks 总结
    CSS样式总结
    HTML标签总结
  • 原文地址:https://www.cnblogs.com/dunken/p/4362762.html
Copyright © 2011-2022 走看看