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>