2014-04-04 25 views
0

內部 「myIframe」:HTML - iframe的重裝和家長之間的差異重裝

當我重新加載IFRAME,不執行我的這個頁面裏面的javascript:

myIframe:

alert("reloaded"); 
$('.selectedTab').click(function() { 
    document.getElementById("myIFrame").contentDocument.location.reload(true); 
}); 

但是,如果我重新加載其父頁JavaScript重新加載。

parent.location.reload(); 


就是這兩種技術途徑之間的區別?
可以重新加載一個Iframe包含而不需要通過父頁面傳遞,也不需要請求服務器,只需要「重放」已有的數據?

+1

confused ... javascript位於哪裏?您目前顯示的JavaScript看起來像父頁面上存在的代碼,除非您重新加載父頁面,否則這些代碼當然不會重新執行。 –

+0

javascript存在iframe中,因爲我提到 – Jils

+1

如果它在iframe中...... document.getElementById(「myIFrame」)。contentDocument.location.reload(true);'iframe iframe從iframe中? –

回答

0

正如Kevin B所說,這似乎是內容位置的問題。確保Iframe src也是從父域相同的域中提供的。

http://jsfiddle.net/55Ewm/ - 似乎對我很好。

<script> 
window.onload = function() { 
    alert("reloaded"); 
    $('.selectedTab').click(function() { 
     document.getElementById("myIFrame").contentDocument.location.reload(true); 
    }); 
} 
</script> 

<button class="selectedTab">Reload Iframe</button> 
<iframe id="myIFrame" src="/" /> 
+0

實際上'按鈕'在'myIframe'裏面 – Jils

+0

http://jsfiddle.net/55Ewm/3/ – Moo3