最近写页面遇到一个需要frame的需求,开始时,我为每个frame的src定义了一个页面文件,后来在<javascript应用程序经典实例>一书中看到一个更简单的办法,利用javascript协议就不需要为每个src属性都定义一个文件了,这就减少了不必要的文件,该书中的示例内容:
<HTML>
<HEAD>
<TITLE>JavaScript On-line Test</TITLE>
<SCRIPT LANGUAGE="JavaScript1.1">
<!--
var dummy1 = '<HTML><BODY BGCOLOR=WHITE></BODY></HTML>';
var dummy2 = '<HTML><BODY BGCOLOR=WHITE><FONT FACE=Arial>Strap in Bucko: This ain/'t no JavaScript vacation...</BODY></HTML>';
//-->
</SCRIPT>
</HEAD>
<FRAMESET ROWS="90,*" FRAMEBORDER=0 BORDER=0>
<FRAMESET COLS="250,*">
<FRAME SRC="administer.html" SCROLLING=NO>
<FRAME SRC="javascript: self.dummy1">
</FRAMESET>
<FRAME NAME="questions" SRC="javascript: self.dummy2">
</FRAMESET>
</HTML>
我在jsp的使用源码:
<html>
<head>
<title>Enter Page</title>
<script language="javascript">
var welcome='<html><body bgcolor="#808080" leftmargin="0" topmargin="10">'+
// '<img src="define.jpg" width="100%" height="100%">'+
'</body></html>';
</script>
</head>
<frameset cols="25%, *">
<frame src="TreeView.jsp">
<frame name="rightFrame" src="javascript: parent.welcome">
</frameset>
</html>
在使用这种方法之前,我必须为第二个frame定义一个内容简单的页面文件,而利用这个方法就简单了许多,至少减少了一个文件的定义.我这里使用的很简单,可能有的人会在比较复杂情况下使用这种方法,具体我没试过.
注意:在<javascript应用程序经典实例>一书的引用本文件的变量是使用self,那是纯html文件;而在jsp文件中,必须使用parent,否则浏览器找不到那个变量.后来,我把上面的self改为parent也是对的,具体原因我不清楚,至少这样是正确的