JS相关开发经验
1 经验汇总
1.1 Js 控制frame
frame框架里的页面要改其他同框架下的页面或父框架的页面就用parent
<frameset rows=”110,*, 30” cols=”*” framespacing=0 frameborder=0 border=0>
<frame src=”topFrame” id/name=”topFrame”>
<frameset >
<frame id/name=”leftMenuFrame”>
<frame id/name=”mainFrame”>
</frameset>
<frame src=”footer” id/name=”footerFrame”>
</frameset>
leftMenuFrame.hml
<script>
Parent[U1] .[ leftMenuFrame| mainframe| topFrame[U2] | footerFrame].location.href=”xxx”;
</script>
window.opener引用的是window.open打开的页面的父页面。如图1
a.html |
b.html |
.. Window.open(“b.html”); //打开b.html弹窗 |
//Window.opener == a.html |
图表 1
window.frames对象可以引用iframe里的页面,也可以引用frameset里的页面.
可以这样
window.frames[0].document.getElementById('xx');
可以这样
window.frames[0].document.body.innerHTML;
frm = window.parent.window.frames['uploadFrame'];
frmDocument = frm.document;
frm.sb(3); //sb 是uploadFrame页面里的一个函数
对于firefox
如果你遇到报错:parent.document.frames has no properties
换为如下代码就可以了,这个代码IE,ff兼容. frm = window.parent.window.frames['uploadFrame'];
meizz说是MSDN的帮助文档害人,这个都是MSDN的帮助文档害的。其实 frames 集合并不是挂在 document 而是挂在 window 对象下
2007-5-11
补充
注意这样修改frame里的页面有限制,就是必须是同域下的,否则无法访问
如果是同一域下,但是子域名不同,那么涉及到的js,html文件都加上一句。
document.domain = xxx.com [这里填写你的域名]
2007-8-21
document.getElementById('iframeid').contentWindow.document.getElementById('someelementid');
关于设计应用系统Webui框架。