跨域 window.name
时间: 2024-02-19 20:39:46 浏览: 15
跨域 window.name 是一种在不同域名之间传递数据的方法。它利用了同一个浏览器窗口中的不同页面共享相同的 window.name 属性的特性。具体实现方式为,页面 A 打开页面 B 时,页面 B 可以将需要传递的数据存储在 window.name 属性中,然后页面 A 再次加载时,可以读取 window.name 中的数据。
需要注意的是,跨域 window.name 传递数据的原理与其他跨域技术类似,存在安全风险。因此,在使用时需要进行充分的安全考虑,例如对传递的数据进行加密处理等。
相关问题
parent.layer.getFrameIndex(window.name);,用这个可以实现将父页面中的数据传到子页面吗
`parent.layer.getFrameIndex(window.name)`是用于获取子页面在父页面中的索引值,用于在父页面中操作子页面。它不会直接将数据从父页面传递到子页面。但是可以通过获取子页面在父页面中的索引值,来在父页面中操作子页面,从而实现数据传递。
以下是一个示例代码:
1. 在父页面中,获取子页面的索引值,并调用子页面中的函数来获取数据并进行处理:
```
// 获取子页面的索引值
var index = parent.layer.getFrameIndex(window.name);
// 调用子页面中的函数来获取数据
var rowData = parent.window.getData();
// 在父页面中对数据进行处理
...
// 处理完成后,关闭子页面
parent.layer.close(index);
```
2. 在子页面中,定义一个函数用于获取数据:
```
function getData() {
// 获取数据
var rowData = ...
// 返回数据
return rowData;
}
```
注意:在使用parent操作子页面时,需要确保子页面和父页面在同一个域名下,否则会出现跨域问题。
window.XMLHttpRequest() 跨域访问 OSS公共读文件
在前端中,可以使用XMLHttpRequest对象来进行跨域访问OSS公共读文件。具体步骤如下:
1. 创建XMLHttpRequest对象
```
var xhr = new XMLHttpRequest();
```
2. 设置请求方式和请求地址
```
xhr.open('GET', 'https://your-bucket-name.oss-cn-hangzhou.aliyuncs.com/your-file-name', true);
```
3. 设置响应类型
```
xhr.responseType = 'blob';
```
4. 发送请求
```
xhr.send();
```
5. 监听请求状态变化
```
xhr.onreadystatechange = function() {
if (xhr.readyState === 4 && xhr.status === 200) {
// 请求成功,获取响应数据
var blob = xhr.response;
// 处理响应数据
}
};
```