iframe 中使用 window.name
2016-04-13 22:51
183 查看
iframe 中使用 window.name
一、问题
最近,使用iframe时遇到一个很奇怪的问题:a.jsp内嵌一个iframe页
b.jsp,而
b.jsp页面在js中定义了一个var name;没有进行赋值前,就有了初始值,找不到初始化的地方。
二、查资料
发现,a页面通过iframe方式嵌入b页面时,b页面可以通过window.name的方式获取b页面对应的iframe的name的值。即a页面中
<iframe name="ggg" src="b.jsp"/>则b中
window.name = "ggg"
1.
示例代码1
a.jsp
<h3>aaa</h3> <iframe id="iframeId" name="test_name" src="<%=request.getContextPath()%>/jsp/001/b.jsp"> <p>Your browser does not support iframes.</p> </iframe>
b.jsp
<body> <h3>bbb</h3> </body> <script type="text/javascript"> var a = window.name; var b = name; //var name; var c = name; alert(a+"\r"+b+"\r"+c); </script>
2.
运行结果:
chrome(47)ie (ie8)
3.示例代码2:
将b.jsp中的注释
var name去掉,即
<script type="text/javascript"> var a = window.name; var b = name; var name; //**这里重新定义** var c = name; alert(a+"\r"+b+"\r"+c); </script>
4.
此时结果为:
chrome(47)ie (ie8)
三、总结
使用iframe方式内嵌子页面,子页面可以通过 window.name的方式获取
iframe的
name的值; 前提:在子页面没有重新定义
name时,ie和chrome下都可以直接用
name进行获取。
但是,一旦在子页面定义了name变量
ie中,会导致
name重新定义,初始化为
undefined
chrome中,会导致
name被赋值为
window.name,即出现莫名其妙被初始化了。
相关文章推荐
- 寻找两个排序数组的中位数
- HTML 利用MAP创建图片中的链接的映射
- bzoj3173【TJOI2013】最长上升子序列
- 磁盘缓存
- ViewPager(三)——深入理解 OnPageChangeListener中的onPageScrollStateChanged(int state)
- MySQL基础八:MySQL存储过程
- 虚拟现实VR究竟有多现实,淘宝buy+是真的么?
- 电话相亲之感
- Jersey(1.19.1) - Hello World, Get started with Jersey using the embedded Grizzly server
- 向mysql中插入数据(时间,图片)
- 关于springSecurity
- DedeCMS反馈页面SQL注入漏洞
- JAVA与C当中基本数据类型和基本运算符的区别
- Android开发系列(十一) QQ登陆界面——Android控件使用实例
- fzu 2091 播放器(字符串栈模拟)
- LTE中的TB/codeword/layer/precoding/port
- DedeCms全局变量覆盖漏洞
- js对json的操作
- PAT (Basic Level) Practise (中文)1022. D进制的A+B (20)
- Java ClassLoader 原理分析