• 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>
    

      

  • 相关阅读:
    视频播放的基本原理
    MPEG2 PS和TS流格式
    使用java连接hive,并执行hive语句详解
    杭电 3887 Counting Offspring
    java值传递
    android面试题之五
    程序人生:工作、生活、梦想
    HDU4756+Prim
    两分钟让你明白cocos2dx的屏幕适配策略
    Expected authority at index 7: hdfs://
  • 原文地址:https://www.cnblogs.com/dunken/p/4362762.html
Copyright © 2020-2023  润新知