2013-02-28 68 views
2
  • 我有一个带有iframe的jsp页面。

例如:worklist.jsp使用javascript重新加载iframe

<html> 
<head> 
<body> 
<iframe height="15%" marginheight="0px" marginwidth="0px" scrolling="no" src="menuBanner.jsp" style="border:0; padding: 0px; position:absolute;" width="960px"> 
</iframe> 
<div><button data-dojo-type="dijit.form.Button" value="Reload" id="reload" onclick="reload();">Reload</button></div> 
</body></head></html> 
  • 上的一个按钮的点击,我需要重新加载只IFRAME页。
  • 我尝试了下面的脚本,但它刷新整个页面(worklist.jsp)

函数重载(){ location.reload(); }

+1

检查:[http://stackoverflow.com/questions/86428/whats-the-best-way-to-reload-an- iframe的使用JavaScript的] [1] [1]:http://stackoverflow.com/questions/86428/whats-the-best-way-to-reload-an-iframe-using-javascript – 2013-02-28 09:30:57

+0

这完全与JSP无关。 – NSPKUWCExi2pr8wVoGNk 2013-03-01 14:46:20

回答

2
function reload({ 
    document.getElementById('iFrameID').contentDocument.location.reload(true); 
} 
+0

请注意,这仅适用于iframe域与父域匹配的情况。 – CharliePrynn 2013-02-28 09:33:04

+0

谢谢..其工作 – Rachel 2013-02-28 09:38:02

3

您可以通过将src设置为当前src来更新/刷新iframe。

这里是一个例子。

var test = document.getElementById('iframeId'); 
test.src = iframe.src; 

这种方式适用于跨域。如果iFrames在同一个域中,评论中的示例就不那么黑客。

1

你可以试试:

var iframe = document.getElementById('YourIFrameId'); 
iframe.src = iframe.src + '?c=' + Math.random(); 

我想在不改变src属性,你将无法重新加载iframe中。

0

你可以这样做。 获取IFRAME SRC和再次分配给iframe的SRC

<script> 
function test() 
    { 
    $('#subpage_frame').attr('src',$('#subpage_frame').attr('src')) ; 
    } 
</script> 

<iframe src="test.com" onload="Loaded();" id="subpage_frame"></iframe> 

<button onclick="test();">Refresh button</button>