我有一个类似于以下内容的iFrame:
<apex:iframe src="http://www.salesforce.com" scrolling="true" height="600" width="100%" id="docframe"/>
我想在父页面(包含iFrame)上使用链接来更新iFrame的内容。
我尝试使用类似于iFrame Target示例中显示的代码:http://www.w3schools.com/html/html_iframe.asp但是在我的浏览器(Firefox)上它会打开一个新标签。即使我将上一个链接中的示例复制并粘贴到我的visualForce页面中,它仍然坚持在浏览器中打开一个新选项卡。
关于我可能想要尝试使用它的任何想法?
答案 0 :(得分:1)
我会这样做
1)首先在apex中定义iFrame的SRC并实现重载方法:
public with sharing class YourClass {
// Source var for the iFrame
public String iframeSource { get; set; }
// Constructor
public YourClass() {
// Default value of the frame source
iframeSource = 'apex/Page1';
}
// The method to reload the iframe with another source page
public PageReference reloadIframe() {
iframeSource = 'apex/Page2';
return null;
}
}
2)现在创建一个命令按钮来重新加载iFrame和要刷新的面板:
<apex:commandButton action="{!reloadIframe}" reRender="theFrame"/>
<apex:outputPanel id="theFrame">
<apex:iframe src="{!iframeSource}" />
</apex:outputPanel>