It's my life

与其临渊羡鱼,不如退而结网

WEB,JS相关开发经验,webUI

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里的页面有限制,就是必须是同域下的,否则无法访问
如果是同一域下,但是子域名不同,那么涉及到的jshtml文件都加上一句。

 document.domain = xxx.com [
这里填写你的域名]

2007-8-21
document.getElementById('iframeid').contentWindow.document.getElementById('someelementid');

 

 

 

关于设计应用系统Webui框架。

 [U1]指示上面的frameset页面

 [U2]顶层frameset中的所有frame, 包括嵌套frameset中的frame,所以要保证各frame id/name 不重复。

阅读更多
个人分类: Javascript
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭