zoukankan      html  css  js  c++  java
  • document.domain跨域

    在介绍document.domain跨域前,先铺垫点前言知识

    主域和子域的区分?

    主域名:由两个或两个以上的字母构成,中间用点号隔开,这个域名只有一个点号
    比如:baidu.com
    子域名:是在主域之下的域名,域名内容后有2个或更多个点号
    比如:www.baidu.com / zhidao.baidu.com

    document.domain?

    目前我的理解:document.domain代表的是提供document这个文档的域名,DOM标准规定该值是只读的。
    但是许多浏览器包括火狐都允许它设置为当前域名的父域名,且主域必须要相同。(当然可以设置为自身)
    例如:a.b.example.com中某个文档的document.domain 可以设成a.b.example.com、b.example.com 、example.com中的任意一个,但是不可以设成 c.a.b.example.com,因为这是当前域的子域,也不可以设成baidu.com,因为主域已经不相同了。

    通过修改document.domain来跨子域

    我们在http://www.example.com/a.html页面通过iframe嵌入http://example.com/b.html后,虽然我们可以通过iframe.contentWindow来获得b.html的window,但是由于同源策略的存在,我们无法使用获取到的window的属性和方法,因为同源策略限制的是ajax的请求操作和js的交互操作
    若此时我们 将两个页面的document.domain都设置为相同的域名,比如都设置为example.com可以获得b.html页面window上的属性和方法,并且进行一些其他跨域操作了
    但是由于document.domain的修改是有限制的,只能设置为自身或者更高一级的域名,且主域要相同,所以进而这就限制了该方法使用的范围,即仅仅父域和子域,子域和子域之间才能使用该方法进行跨域操作

    操作如下

    http://www.example.com/a.html页面

  • 相关阅读:
    【C#进阶系列】06 类型和成员基础
    纪中5日T1 1564. 旅游
    纪中17日T1 2321. 方程
    纪中17日T2 2322. capacitor
    纪中10日T1 2313. 动态仙人掌
    纪中14日听课小结 图论 最短路 二分图 差分约束
    一个抓猫的游戏 消遣GAME 持续更新中!
    洛谷P1464 Function  HDU P1579 Function Run Fun
    洛谷P1976 鸡蛋饼
    纪中12日T1 2307. 选择
  • 原文地址:https://www.cnblogs.com/Walker-lyl/p/7454139.html
Copyright © 2011-2022 走看看