0

我有一个类似于以下内容的 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 页面中,它仍坚持在我的浏览器中打开一个新选项卡。

关于我可能想尝试使其工作的任何想法?

4

1 回答 1

1

我会这样做

1)首先在apex中定义你的iFrame的SRC并实现reload方法:

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>
于 2012-08-10T11:45:10.613 回答