跨域 (3) window.name
2024-10-07 05:29:01
window对象有一个name属性,该属性有一个特征:即在一个窗口的生命周期内,窗口载入的所有的页面都是共享一个window.name的,每一个页面对window.name都有读写的权限,window.name是持久的存在于一个窗口载入的所有页面中的,并不会因为新的页面的载入而被重置。
a.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>a 页面 </title>
</head>
<body>
<!-- a先引用 c -->
<iframe src="http://localhost:4000/c.html" frameborder="" onload="load()" id="iframe"></iframe>
</body>
<script>
let first = true;
function load() {
if(first) {
//把 a 引用的地址改到b
let iframe = document.getElementById('iframe')
iframe.src= 'http://localhost:3000/b.html'
first = false
}else {
console.log(iframe.contentWindow.name)
}
}
</script>
</html>
c.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
</head>
<body> </body>
<script>
// c页面把值放到window 下
window.name ='hello world'
</script>
</html>
注释:
a 和 b 是同域名的 http://localhost:3000
c 是独立的 http://localhost:4000
a先获取c 的数据
a先引用 c c把值放到window.name ,把 a 引用的地址改到b
最新文章
- Linux特殊符号浅谈
- Android开发自学笔记(Android Studio)&mdash;4.5 ProgressBar及其子类
- iOS开发:开发证书知识点总结
- [cb] Unity Editor 添加右键菜单
- HDOJ 1863 prim算法 HDOJ 1879
- apktool反编译工具
- Web前端开发
- 调用底层的viewController--返回底层
- asp.net传值
- Codeforces 442B Andrey and Problem(贪婪)
- python_unittest学习小结
- 计蒜客 等边三角形 dfs
- VS2012遇到一个问题:";链接器工具错误 LNK2026 XXX模块对于 SAFESEH 映像是不安全的";
- mybatis 保存对象 参数类型
- [Day24]IO(转换流、缓冲流)
- Perl:undef类型和defined()函数
- bzoj3976
- android studio更新gradle失败的解决办法-转
- vi中跳到文件的第一行和最后一行
- Erlang HTTP client:ibrowse
热门文章
- Tomcat-8.5.39性能监控及调优
- JS对象基础 闭包等
- java:Servlet(Create,LifeCycle,ServletWeb.xml文件的配置,交互式,Tomcat文件分析,单例安全模式)
- cocos2dx[3.2](7) 核心类Director/Scene/Layer/Sprite
- ELK+Kafka日志收集环境搭建
- vue,基于element的tree组件封装
- Spring JdbcTemplate 和 NamedParameterJdbcTemplate 使用
- 2-django配置
- PyQt5_主要的类库
- Vue.js路由管理器 Vue Router