0

設定:

タブを S コントロールでオーバーライドしています。S-Control は、ヘッダーとサイドバーを使用して、SF ウィンドウに埋め込まれた新しいリンクを開くフォームを投稿します。私が必要としているのは、SF ヘッダーとサイドバーを含む新しいウィンドウでそのウィンドウを開くことです。

誰かがアドバイスできますか?

ありがとうダス・ヌーブ!

<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>
4

1 に答える 1

0

私の方法:

  1. 新しいVisualforce タブを作成する
  2. タブの Visualforce ページ (S-Controll ページ) を選択します。
  3. タブを保存する

ユーザーがタブをクリックすると、ページにリダイレクトされます。次のようになります: タブをクリック -> S-Control ページが開きます -> 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();
于 2012-08-17T12:17:32.283 に答える