2012-04-25 18 views
0

Salesforceページで標準ボタン(削除)を無効にしようとしています。私はVisualforceページでそれを覆しましたが、私が直面している問題はポップアップブロッカーです。Salesforceページの標準ボタンを無効にする

ボタンを無効にする目的は、ファイルを削除するかどうかをユーザーに確認し、サードパーティのホストで削除を実行することです。

ポップアップブロッカーを停止したり、別のオーバーライド方法を使用する方法はありますか? 私のVisualforceページには、ポップアップウィンドウを開くjsスクリプトが含まれています。私はこのjsスクリプトを別の場所に置くことができるかどうか疑問に思っています!

<apex:page standardController="" showheader="false" sidebar="false"> 
    <apex:includeScript value=""/> 
    <apex:includeScript value=""/> 
     <script language="javascript"> 
      var caseStatus = "{!s__c}"; 
      try{ 
       sforce.connection.sessionId = "{!$Api.Session_ID}"; 
       var isPortalUser = sforce.apex.execute('e','r',{}); 
      }catch(e) { 
       alert(e) 
      } 

       if(caseStatus == "A"){ 
       window.open('{!$Label.FTP_Attachment_Pro_URL}/sforce/ftp/Delete.aspx?ID={!ENZ__FTPAttachment__c.Id}&OrgID={!$Organization.Id}&SFUrl={!$Label.API_URL}/{!$Organization.Id}&SFSessionID={!$Api.Session_ID}',500,600); 
      window.location = '{!$Label.SF_Base_URL}/{!ENZ__FTPAttachment__c.Case__c}'; 

      } 
       else{ 
        window.location = '{!$La}'; 
        window.alert("a"+ caseStatus); 
       } 

    </script> 
</apex:page> 
+0

confirm()関数またはポップアップウィンドウを使用していますか?私は前者がブロックされるべきではないと思う。 – GillesC

+0

もう一度質問を確認してください。私はオーバーライドで使用されるsalesforceページを追加しました。申し訳ありませんが、プライバシーに関する問題のすべてのパラメータを削除しました。 – raym0nd

答えて

1

window.openは、ポップアップとしてブロックされる可能性があるため使用しないでください。

あなたは空想の確認ボックスをしたくない場合は、あなたがそれを求めるのファンシーな方法が必要な場合は、http://jqueryui.com/demos/dialog/に見られるように多くの利用可能がある代わりに、モーダルボックスを使用

if (confirm('are you sure you want to delete?')) { 
    // delete 
} else { 
    // error 
} 

javascriptの確認機能を使用することができます(jqueryuiのリンクは単にダイアログボックスを説明するためのものです)

ここでは、確認モーダルボックスとしてのデモの良いものがあります。ページ)

http://www.ericmmartin.com/projects/simplemodal-demos/

+0

ありがとうございます。私は私の質問をはっきりさせなかったけれども、申し訳ありません。私のwindow.Openメソッドは、渡された変数を持つasp.netページを開き、選択したファイルを削除します。私は完全なwindow.Openの部分を追加します。再度確認してください。ありがとう。 – raym0nd

+0

window.openを使用している限り、ポップアップブロッカーがページを停止させることは無関係です。私があなたの唯一の方法は、必要に応じてASPページを読み込むことができますモーダルボックスを使用していると述べたように。モーダルボックスにはiframeを含めることができますので、必要なものをロードすることができます。ポップアップブロッカーはwindow.open呼び出しを探して取り消します。それ以外の方法はありませんが、コンテンツの表示方法を変更することができます。 – GillesC

+0

iframeにasp.netページを読み込むことができません。私はデモで同じように使っています。リンクをハードコーディングするとページは機能しますが、各アイテムに基づいて値を持つvarを使用すると、ページは機能しません。また、srcをwww.google.comに設定しようとしたところ、iframeに何も表示されませんでした。 – raym0nd

関連する問題