1 / 5
文档名称:

js跨域解决方案.docx

格式:docx   大小:113KB   页数:5页
下载后只包含 1 个 DOCX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

js跨域解决方案.docx

上传人:科技星球 2022/3/7 文件大小:113 KB

下载得到文件列表

js跨域解决方案.docx

相关文档

文档介绍

文档介绍:js跨域解决方案
 
   
 
 
 
 
 
 
 
     
 
 
 
 
 
一、问题描述
在页面渲染时需要动态获取iframe子页面的高度,然后重新设置iframe高度,达到自适应的目   
 
   
js跨域解决方案
 
   
 
 
 
 
 
 
 
     
 
 
 
 
 
一、问题描述
在页面渲染时需要动态获取iframe子页面的高度,然后重新设置iframe高度,达到自适应的目的,但是由于iframe子页面中也涉及到访问其他系统的页面,这就使得页面渲染时无法获取子页面高度,这里涉及到跨域访问子页面问题。
二、什么是跨域
我们经常会在页面上使用ajax请求访问其他服务器的数据,此时,客户端会出现跨域问题.
跨域问题是由于javascript语言安全限制中的同源策略造成的.
简单来说,同源策略是指一段脚本只能读取来自同一来源的窗口和文档的属性,这里的同一来源指的是主机名、协议和端口号的组合.
例如:
URL
说明
是否允许通信

同一域名下
允许

同一域名下不同文件夹
允许
:8000/
同一域名,不同端口
不允许

同一域名,不同协议
不允许

域名和域名对应ip
不允许

主域相同,子域不同
不允许

同一域名,不同二级域名(同上)
不允许(cookie这种情况下也不允许访问)

不同域名
不允许
三、解决方案
1、
,,也就是两个页面必须属于一个基础域(,),使用同一协议(例如都是 http)和同一端口(例如都是80),,就可以实现父页面调用子页面的函数。网上有很多例子,很容易找到,不过该解决方案存在一些问题:
a 安全性,当一个站点()被攻击后,另一个站点()会引起安全漏洞
b如果一个页面中引入多个iframe,要想能够操作所有iframe,必须都得设置相同domain。这样会导致很多动态创建iframe的插件无法使用,比如说富文本编辑插件。
2、基于script标签实现跨域
scri