2011-12-28 64 views
4

我已經有了一個簡單的html代碼,並且在其上有一個iframe,並且我想訪問父級以外iframe的全局變量。使用Chrome訪問全局變量

任何人都知道爲什麼鉻不想讓我快樂? :)

iframe的代碼在ff中工作正常,即...但不是chrome。

HTML代碼:

<html> 
<head> 
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7/jquery.min.js"></script> 
<script> var one = "two"; </script> 
..... 
<body>  
<iframe name="process" id="process" src="" frameborder=1></iframe>  
</body> 
</html> 

,iframe代碼:

<html> 
<head> 
<script> alert("Inside step 1 : "+parent.one); </script> 
</head> 
<body> 
    STEP 1 
</body> 
</html> 
+0

可能的重複:http://stackoverflow.com/questions/5777289/cant-access-content-of-another-frame-in-chrome – ean5533 2011-12-28 16:14:38

+0

@ ean5533是不一樣的事情,因爲我正在訪問一個全球範圍可變的,而不是來自不同框架的內容與他們的ID。另外,這是一個iframe – dyoser 2011-12-28 16:29:08

回答

1

不幸的是,你不能這樣做,在JavaScript中。每個iframe都包含在它自己的document中。此document對象包含該iframe的全局範圍。您無法訪問全局範圍之外的任何內容,因此iframe只能使用iframe內創建的變量。

+0

好吧,如果我把提供的HTML放到測試頁面中,我可以正確地調用iframe上的alert(parent.one)... – 2011-12-28 16:16:56

+0

@Matt Bradley Nope,正如我在ff和ie中所說的我可以訪問iframe中全局範圍內的變量。如果主體和iframe位於同一主機中,則可以訪問iframe外部的變量....不需要window.message,因爲它們位於相同的域中 – dyoser 2011-12-28 16:17:04