0

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

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

ポップアップブロッカーを停止するか、別のオーバーライドアプローチを使用する方法はありますか?私の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>
4

1 に答える 1

1

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

派手な確認ボックスが必要ない場合は、javascript の確認機能を使用できます

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

それを要求する派手な方法が必要な場合は、http://jqueryui.com/demos/dialog/に見られるように、代わりにモーダル ボックスを使用してください。 (jqueryui リンクは、単にダイアログ ボックスを説明するためのものです。

これは、確認モーダル ボックスとしてのデモを備えた優れたものです (ページの最後のデモ)。

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

于 2012-04-25T14:25:57.710 に答える