设为首页 |收藏本站
 找回密码

我爱魔兽官方网站

服务器名称
服务器线路
服务器版本
注册账号
登录器下载
客户端下载
玩家QQ群
玛雅魔兽世界一区
高速双线
WLK-3.35
玛雅魔兽之巫妖王之怒
测试服
网通
WLK-3.35
我爱魔兽TBC70级测试服

Web安全技术之浏览器的跨域访问(1)

2015-5-5 17:05| 发布者: 5iwow| 查看: 799| 评论: 0

摘要:     一、浏览器介绍  对于Web应用来说,浏览器是最重要的客户端。  目前浏览器五花八门多得不得了,除了Chrome、IE、Firefox、Safari、Opera这些国外的浏览器外,百度、腾讯、360、淘宝、搜狗、傲游之类的, ...

  3. 使用HTML5的postMessage方法实现跨域访问

  HTML5增加了跨文档消息传输,下面的例子实现了使用postMessage在不同域间传递消息:

  a.html

  1. <html>
  2. <head>
  3. <script>
  4. function update_b () {
  5. var _iframe = document.getElementById("_iframe");
  6. _iframe.contentWindow.postMessage("content from a.html", "http://b.com");
  7. }
  8. </script>
  9. <head>
  10. <body>
  11. <iframe id="_iframe" src="http://b.com/demo/html5/b.html"></iframe>
  12. <br>
  13. <input type="button" value="Update b.html" onclick="update_b()"></input>
  14. </body>
  15. </html>

  b.html

  1. <html>
  2. <head>
  3. <script>
  4. window.addEventListener("message", function (event) {
  5. document.getElementById("_p").innerHTML = event.data;
  6. }, false);
  7. </script>
  8. </head>
  9. <body>
  10. <p id="_p">b.html</p>
  11. </body>
  12. </html>

  在postMessage中要指定接收方的域名,如果发现目标页面的域名不正确,将抛出类似下面这样的错误:

  Failed to execute ‘postMessage’ on ‘DOMWindow’: The target origin provided (‘http://c.com’) does not match the recipient window’s origin (‘http://b.com’).

  浏览器对跨域访问的限制是出于安全考虑的,所以在使用一些方法实现跨域访问时要特别小心。

  

  

  


1234

鲜花

握手

雷人

路过

鸡蛋

最新评论

相关分类

QQ| Archiver|手机版|小黑屋| 我爱魔兽网 Inc.     

Copyright © 2001-2013 Comsenz Inc.  Template by Comeings! All Rights Reserved.

Powered by Discuz! X3.2( 黔ICP备15002676号-1 )

返回顶部