解决跨域(六)--- document.domian
document.domain
- document.domain只能用于二级域名相同的情况下,比如a.test.com和b.test.com适用于该方式。只需要给页面添加 document.domain =‘test.com’ 表示二级域名都相同就可以实现跨域。
- 实现原理:两个页面都通过js强制设置document.domain为基础主域,就实现了同域。
- document.domain 可解决不同源Cookie不能共享的问题 和 不同源,就无法拿到对方的DOM。
Cookie
两个网页一级域名不同,二级域名相同,浏览器允许通过设置document.domain共享Cookie。
举例来说,A网页是http://w1.example.com/a.html,B网页是http://w2.example.com/b.html,那么只要设置相同的document.domain,两个网页就可以共享Cookie。
document.domain = 'example.com';
现在,A网页通过脚本设置一个 Cookie。
document.cookie = "test1=hello";
B网页就可以读到这个 Cookie。
var allCookie = document.cookie;
服务器也可以在设置Cookie的时候,指定Cookie的所属域名为一级域名,比如.example.com。
Set-Cookie: key=value; domain=.example.com; path=/
这样的话,二级域名和三级域名不用做任何设置,都可以读取这个Cookie。
DOM
如果两个窗口一级域名相同,只是二级域名不同,那么设置document.domain属性,就可以规避同源政策,拿到DOM。
解决跨域(六)--- document.domian相关推荐
- 学会iframe并用其解决跨域问题
了解iframe 官方定义为:iframe是HTML标签,作用是文档中的文档,或者浮动的框架(FRAME).iframe元素会创建包含另外一个文档的内联框架(即行内框架). 简单理解为:iframe是 ...
- [跨域]前端解决跨域问题
1.同源策略如下: URL 说明 是否允许通信 http://www.a.com/a.js http://www.a.com/b.js 同一域名下 允许 http://www.a.com/lab/a. ...
- 解决跨域的8种最常用方法(附终极通用大招)
目录 引言 一.JSONP 跨域 二. iframe跨域 2.1 window.name + iframe跨域 2.2 location.hash + iframe跨域 2.3 document.do ...
- 跨域问题详解——九种解决跨域方法
跨域是前端再常见不过的问题了,下面主要针对跨域做一次总结,一次理清楚. 一.jsonp解决跨域 jsonp解决跨域问题的原理是:script不受同源策略的影响. //前端代码: <!DOCTYP ...
- CORS-跨域资源共享 解决跨域问题
1.什么是跨域? a.test.com 和 b.test.com 是两个不同的域,而处于安全机制考虑,JS只能访问与所在页面同一个域(相同协议.域名.端口)的内容,但是我们在项目开发时,经常遇到一个页 ...
- 前端解决跨域问题的8种方案(最新最全)
.同源策略如下: URL 说明 是否允许通信 http://www.a.com/a.js http://www.a.com/b.js 同一域名下 允许 http://www.a.com/lab/a.j ...
- iframe解决跨域ajax请求的方法
iframe跨域的基本前提是,一个页面可以嵌套非同源站点的html文件,以及某一个域名下的html页面可以通过脚本向同域名服务器发出ajax请求.当一个域名为domain1下的页面A想要向domain ...
- android ajax 跨域更新本地html,本地webapp是怎么解决跨域问题的?
像ionic的cli,都可以把一个ionic的webapp打包成本地的,那这样的话是如何解决跨域问题的? 在PC上,我直接访问连接获取数据,代码如下.(抄自W3School) function loa ...
- axios请求接口http_Vue使用Axios实现http请求以及解决跨域问题
Axios 是一个基于 promise 的 HTTP 库,可以用在浏览器和 node.js 中.Axios的中文文档以及github地址如下: 中文:https://www.kancloud.cn/y ...
- 本地html app跨域,本地webapp是怎么解决跨域问题的?
像ionic的cli,都可以把一个ionic的webapp打包成本地的,那这样的话是如何解决跨域问题的? 在PC上,我直接访问连接获取数据,代码如下.(抄自W3School) function loa ...
最新文章
- 【php】【psr】psr2 编码风格规范
- Matplotlib可视化散点图、配置X轴为对数坐标、并使用线条(line)连接散点图中的数据点(Simple Line Plot with Data points in Matplotlib)
- /scripts/checkkconfigsymbols.sh
- 更改mssql数据库的名字
- tcpdump抓取mysql语句
- 一个word文档中,多个表格的批量调整(根据窗口调整表格和添加表格水平线)...
- 面试官 | Class.forName 和 ClassLoader 有什么区别?
- hdu 2072单词数
- Java学习笔记2.4.3 选择结构 - 多分支结构
- javascript写字技巧_关于 js的一些书写习惯 实用风格 小技巧
- javascript基础之拖拽(2)(详细篇)---FileReader对象,blod对象
- android read_phone_state 代码,android - 用户10102和当前进程都没有android.permission.READ_PHONE_STATE - 堆栈内存溢出...
- BlackBerry J2ME 编程指南(一)
- 神奇魔方html5游戏在线玩,神奇的魔方
- Vueb报错[WDS] Errors while compiling. Reload prevented
- OneDrive无法登陆正常使用 There was a problem connecting to onedrive
- 一次性禁止禁止Flash Helper service(即ff新推荐)即flash弹出来的广告
- 学一点Redis基础
- 在网站中插入 英文地图非谷歌
- 王文彬(淘宝网首席架构师)等关注探讨的问题