說,一個HTML頁面(Page.htm)包含以下...搶全局變量從嵌入的iframe
<script type="text/javascript">
var vara = 'varA';
</script>
現在這個頁面加載到一個iframe從另一個頁面......
<iframe id="child_frame" src="http://mysite.com/Page.htm" />
從父頁面,我想從Page.htm中獲取全局'vara'的值。
無以下行工作的...
window.frames['child_frame'].window.vara;
window.frames['child_frame'].window['vara'];
window.frames['child_frame'].contentWindow['vara'];
// in fact contentWindow returns undefined!!
任何幫助,將不勝感激!
UPDATE
這個問題看多,並試圖可用來解決這個問題的各種庫後,我頓悟了,因爲我有IIS在兩個主要和iframe嵌入網站的控制,我可以通過爲各個網站使用相同的基本URL在跨域腳本規則中工作。此外,解決問題的庫似乎需要不斷更新,因爲瀏覽器供應商通過持續更新來加強安全性。要避免瀏覽器試圖阻止你做什麼,必須始終更新解決方法確實是一件苦差事。
啊,有道理。你能扭轉嗎?孩子iframe可以看到其父(不同域)的全局變量嗎? – 2011-05-17 18:59:17
@John:會更糟,你不覺得嗎?無論如何,你可能對[this]感興趣(http://softwareas.com/cross-domain-communication-with-iframes) – neurino 2011-05-17 19:04:50
@John你可以通過使用父母。例如,「parent.myGlobalVarInPageHtm.id」。 – 2012-06-06 21:48:50