我有一个嵌入在机会的详细信息页面上的 Visualforce 页面。
页面中有一个命令按钮,它调用支持控制器扩展中的方法。
支持方法完成后,如何将用户重定向到另一个页面?
我可以从该方法返回一个 PageReference,但它只会重定向显示嵌入式 Visualforce 页面的 iframe。
理想情况下,我想刷新顶级窗口,但我担心如果嵌入的 visualforce 页面与父窗口不在同一个域中,可能会出现跨域问题。
作为一个基本测试,我尝试将以下内容添加到嵌入式 Visualforce 页面:
<script>
window.setTimeout(testRedirect,2000);
function testRedirect() {
top.location.reload();
}
</script>
这导致 Chrome 记录错误:
不安全的 JavaScript 尝试从 URL https://ab2.na2.visual.force.com/servlet/servlet.Integration?lid=066400000000000&ic=1 的框架访问具有 URL https://na2.salesforce.com/006400000000000的框架 。域、协议和端口必须匹配。
因此,Visualforce 页面的域不同。