2013-10-31 68 views
0

我在頁面內部有一個div,我想在用戶點擊鏈接時動態加載iframe動態添加iframe時頁面正在重新加載

//div code 
<div id="cs_feedback_pane" ><!-- iframe here --></div> 


//link 
<a href="#" id="cs_panel_link" onclick= "loadIframe();">Load iframe inside div</a> 

//javascript code 
function loadIframe() { 
    var iframe = document.createElement('iframe'); 
    iframe.frameBorder=0; 
    iframe.setAttribute("src", 'myurl here '); 
    document.getElementById('cs_feedback_pane').appendChild(iframe); 
} 

iframe單擊定位標記後加載成功,但整個頁面被刷新。有沒有人有想法如何避免頁面加載?

+0

我的codepen不顯示任何問題.. http://codepen.io/anon/pen/KGjDr – EricG

+0

你怎麼能說,頁面得到刷新? –

回答

0

使用

document.getElementById('cs_feedback_pane').innerHtml("<iframe src=""></iframe>"); 

據我所知,這不應該重新加載頁面嘗試加載它,而不是由createElement

1

替換你的錨與

<a href="javascript:void(0)" id="cs_panel_link" onclick= "loadIframe(); return false;">Load iframe inside div</a> 

我改變了hrefonclick,避免跳躍或重新freshing。

+0

您認爲如何將「返回false」放到函數中以保持清楚? – Dropout

+0

當onclick中的函數返回時,鏈接將繼續正常工作(錨點跳轉或刷新錯誤或其他內容)。爲了避免這種情況,讓你的onclick總是返回false。 - 它只是一個解決方法,如果你需要它,沒有別的。 – createproblem

+0

理想情況下,這應該使用'$('#cs_panel_link')。on('click',loadIframe);'處理。 – azz