1. 程式人生 > >利用javascript協議來減少簡化FRAME SRC屬性的設定

利用javascript協議來減少簡化FRAME SRC屬性的設定

最近寫頁面遇到一個需要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也是對的,具體原因我不清楚,至少這樣是正確的