js operate frame

我的页面框架如下
<frameset rows="," cols="190,*" framespacing="0" frameborder="no" border="0" class="k">
	<frame src="left_01.html" name="left" frameborder="no"  noresize="noresize" scrolling="no">
	<frame src="zhgl.html" name="main" class="mainframe" frameborder="no" scrolling="yes">

</frameset>

我想通过left_01.html内的
<a href="aaaaaa.html" target="main" omenu="clickme" onclick="setTimeout('sublingadd()',1000);">clickme</a>
<script language="JavaScript" type="text/javascript">
<!--
	function sublingadd(){
		parent.document.getElementsByName('main')[0].contentWindow.popupwin();
	}
//-->
</script>

其中popupwin()是zhgl.html的一个js function
如果不用setTimeout,那么zhgl.html还没有加载完的时候会报错
出此下策。
我之前想通过给zhgl.html添加body.onload的方式不成功,
最后用调用zhgl.html内的函数来完成弹出窗体。


<script language="JavaScript" type="text/javascript">

<!--
	function sublingadd(){
		//f1();
		//parent.document.getElementsByName("main")[0].contentWindow.document.body.onload=parent.document.getElementsByName("main")[0].contentWindow.f1;
		parent.document.getElementsByName("main")[0].contentWindow.f1();
		/*var self = parent.document.getElementsByName("main")[0].contentWindow.document.body,self_f=parent.document.getElementsByName("main")[0].contentWindow.f1;
		if (document.all){
			self.attachEvent('onload',self_f)//IE中
		}
		else{
			self.addEventListener('load',self_f,false);//firefox
		}*/
		//function(){			parent.document.getElementsByName("main")[0].contentWindow.f1();		}
		// this.bodyonload();
		//Pa_Modal.Open('viptjyy1.html',460,250,null,0,0);
		//parent.parent.document.body.onload=Pa_Modal.Open('viptjyy1.html',460,250,null,0,0);
		//return false;
		//console.log(parent.document.getElementsByName("main")[0].contentWindow.document.body);
	}
	/*sublingadd.prototype.bodyonload= function(){
		parent.document.getElementsByName("main")[0].contentWindow.f1();
	}*/
//-->
</script>

你可能感兴趣的:(html,框架,prototype,IE,firefox)