2010-02-19 84 views
0

我正在嘗試創建一個嵌入式<script>,其中包含一個名爲"showForm()"的函數,該函數在主瀏覽窗口中顯示名爲「form.htm」的文件的內容。如何在當前瀏覽器窗口(html)中顯示新窗口?

這是我需要做的:

  1. 顯示在用於打開cover.htm文件瀏覽器窗口中form.htm文件。 (提示:使用「opener」關鍵字引用主瀏覽器窗口,並使用location.href屬性指定要在該窗口中顯示的文檔。)

  2. 關閉當前窗口。

我很難搞清楚每個部件究竟是什麼,它是什麼意思,我也並不真正懂得如何編寫它。我得知我正試圖在現有瀏覽器窗口「cwj.htm」中打開新內容(「form.htm」),然後關閉它,但我不知道如何編寫它。任何幫助表示讚賞。謝謝!

這是我想出的代碼。見<script>標籤:

<head> 
    <title>Subscription</title> 

<link href="cover.css" rel="stylesheet" type="text/css" /> 


<script type="text/javascript"> 
    function showForm() { 
    <!--window.open("form.htm","opener",""); 
     window.close(); --> 
     <!--window.open("location.href"); --> 
     document.write(location.href); 
     window.open("form.htm","opener",""); 
     window.close(); 
    } 
</script> 
</head> 

回答

0

我認爲他們的意思window.opener"opener"window.opener是對打開當前窗口的窗口的引用。

0

幾件事情:

你的腳本塊,應該是這樣的:

<script type="text/javascript"> 
<!-- 
    your code goes here 
//--> 
</script> 

實際上,你可以只使用:

<script> 
    your code goes here 
</script> 

,它會在所有的現代Web瀏覽器上;但爲了完整性您可能需要包含HTML註釋標記<!-- //-->

在腳本塊內部,您不應該使用HTML註釋<!-- -->來禁用您的代碼。你會想使用C風格的評論/* disabled code goes here */

現在到你的代碼。你定義一個函數:

function showForm() { 
} 

這個定義代碼中的功能,可以運行,但它不會運行,直到你怎麼稱呼它,就像這樣:

showForm(); 

的Javascript發生或多或少瞬間,所以如果你打開一個窗口,然後立即關閉它,你可能不會看到它。首先試着打開它。

window.opener是作爲彈出窗口打開的窗口中的全局屬性。它指向打開彈出窗口的另一個窗口的window對象。

我希望這給你足夠的幫助,弄清楚沒有爲你做功課。 =)