2011-06-07 67 views

回答

10

如果這些頁面都在同一個領域,你可以調用父窗口的功能:

window.parent.zipPhoneCallback(zipphone); 

在父窗口中,你可以像這樣定義一個函數:

function zipPhoneCallback(zipphone) { 
    ((console&&console.log)||alert)("zipphone = " + zipphone); 
} 
+0

我無法讓它工作。你能進一步解釋嗎?另外,如何保持這種情況發生,直到加載iframe之後。我問的原因是因爲直到在父框架上提交表單之前,我才加載iframe。 – zach 2011-06-07 21:08:22

+1

@zach:適合我。 [這是一個更具體的例子。](http://jsfiddle.net/P2tyb/)順便說一下,你可能想要通過你的問題,如果有一個令人滿意的答案,通過點擊空心檢查標記爲答案在它旁邊標記,此時它會變成綠色。 – icktoofay 2011-06-07 21:43:23

2

當心似乎有a Chrome browser issue with addressing variables from webpages to or from IFRAMES.此問題出現在離線測試中。

這且不說,假設你的瀏覽器實際實現的Javascript的基本功能,從您的主網頁使用window.myiframename.zipphone

<IFRAME NAME="myiframename" SRC="myzipphoneiframefile.htm" .... 

<script type="text/javascript"> 
<!-- 
// then whatever you do with your variable 
// read it 
var z = window.myiframename.zipphone; 
// write to it 
window.myiframename.zipphone = "...."; 

等解決您的變量。

例子。

DOC1.HTM內容 -

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> 
<html> 
<head> 
<title>DOC1.HTM</title> 
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1"> 
</head> 
<body bgcolor=pink> 

<h1>DOC1.HTM</h1> 

<iframe name="iframename" src="doc2.htm"></iframe> 
<p> 
<br /> 
<a href="#" onclick="alert('The value of the variable test_var set by a script in DOC2.HTM embedded in the DOC1.HTM page by an iframe named IFRAMENAME as read from a script running in DOC1.HTM appears to be - ' + window.iframename.test_var);return false;">check variable</a> 
</p> 

</body> 
</html> 

DOC2.HTM內容 -

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> 
<html> 
<head> 
<title>DOC2.HTM</title> 
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1"> 
</head> 

<body bgcolor=red> 

<script type="text/javascript"> 

var test_var="testing, testing . . ."; 

</script> 


<h1>DOC2.HTM</h1> 
</body> 
</html> 

,即使與舊版本的Internet Explorer,但精美的作品嚐試當Chrome和window.iframename離線測試由於Chrome問題,.test_var似乎未定義。

無論如何,請注意Chrome的未來版本修復此問題,因爲Google的臉上有很多雞蛋,但他們沒有。

我在Chrome離線測試中解決了此問題。

感謝WebmasterWorld上的Lucy24的幫助。 http://www.webmasterworld.com/google_chrome/4689258.htm#msg4689342

Chrome的這個問題出現時,我的JavaScript正在測試離線和文件doc1.htm和doc2.htm是在我的電腦上的文件夾。

的doc1.htm & doc2.htm文件移動到文件夾中,我測試服務器端PHP程序,它可以在使用Windows Internet服務管理器意味着我可以使用HTTP地址的文件:/ /本地主機地址和賓果遊戲,瀏覽器表現應該具有離線模式。

在我看來,Chrome的javascript不能在同一個離線文件夾中直接尋址文件,這不是「合法的」。

當您在自己的PC上運行自己的JavaScript文件時,絕對沒有任何安全問題。或者,如果Chrome想要提供允許或禁止離線IFRAME變量範圍的安全設置,那麼確定,那就沒問題。

錯誤信息並不完全清楚我提交和Lucy24很好地弄清楚它的含義。

如果Internet Explorer和Firefox等允許您脫機測試您的JavaScript,那麼爲什麼不使用Chrome?

這麼好做Lucy24。 Chrome不太好。

+0

好點+1當之無愧! – Alboz 2014-10-06 08:58:03

相關問題