获得一个s控件打开一个嵌入SF的新窗口?

时间:2012-08-10 18:21:23

标签: javascript salesforce apex-code visualforce

设定:

我们正在用带有S控件的标签。 S-Control发布表单以打开SF窗口中嵌入的新链接 - 带有标题和侧边栏。我需要的是在一个带有SF标题和侧边栏的新窗口中打开该窗口。

有人可以提供建议吗?

谢谢Das Noob!

<html> 
<head> 

<script type="text/javascript"> 
var prodURL = "https://blah"; 

function postwith (to, params) { 
var myForm = document.createElement("form"); 
myForm.method = "post"; 
myForm.target = "_self"; 
myForm.action = to; 

for (var p in params) { 
var myInput = document.createElement("input"); 
myInput.setAttribute("name", p); 
myInput.setAttribute("value", params[p]); 
myInput.setAttribute("type", "hidden"); 
myForm.appendChild(myInput); 
} 

document.body.appendChild(myForm); 
myForm.submit(); 

} 
</script> 

<style type="text/css"> 
#overlayPageLoad { 
background: none repeat scroll 0 0 white; 
height: 100% !important; 
left: 0; 
position: absolute; 
text-align: center; 
top: 0; 
width: 100% !important; 
} 
#overlayPageLoad .middle { 
color: #888888; 
font-size: 16px; 
left: 0; 
position: absolute; 
top: 50%; 
width: 100%; 
} 
</style> 

</head> 

<body onload= "postwith(prodURL, {SF_SESSION:'{!$Api.Session_ID}',SF_ENDPOINT:'{!$Api.Partner_Server_URL_120}'})"; > 

<div id="overlayPageLoad"> 
<span class="middle"> 
<img src="https://prettypicture"> 
&nbsp;Connecting... 
</span> 
</div> 

</body> 
</html>

1 个答案:

答案 0 :(得分:0)

我的方法:

  1. 创建新的 Visualforce标签
  2. 选择标签的Visualforce页面(您的S-Controll页面)
  3. 保存标签
  4. 现在,如果用户点击该标签,他将重定向到您的页面。 它看起来像这样:点击选项卡 - &gt; S-Control页面打开 - &gt;在S-Control页面中运行一个javascript代码,在弹出窗口中打开另一个页面。

    在您的S-Controll页面中添加一些JavaScript以打开弹出窗口:

    <!-- language: lang-js -->
        var height = 300;
        var width = 500;
        var windowCenter1 = (screen.height - height) / 2;
        var windowCenter2 = (screen.width - width) / 2;
        var windowFeatures = 'height=' + height + ',width=' + width +
                             ',toolbar=0,scrollbars=1,status=0' + 
                             ',resizable=0,location=0,menuBar=0';
    
        newPopup = open("/apex/youPopUpPage","myPopup", windowFeatures+',left=' + windowCenter2 +',top=' + windowCenter1);
        newPopup.focus();