2012-04-25 2 views
0

Salesforce 페이지에서 표준 단추 (삭제)를 재정의하려고합니다. Visualforce 페이지로 덮어 씌웠지만 문제는 팝업 차단기입니다.Salesforce 페이지의 표준 단추 재정의

버튼을 무시하는 목적은 사용자에게 파일을 삭제할 것인지와 제 3 자 호스트에서 삭제할 것인지 묻는 것입니다.

팝업 차단기를 중지 시키거나 다른 무시 방법을 사용할 수 있습니까? 내 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 
} 

를 사용할 수있는 멋진 확인 상자를 원하지 않는 경우에 사용할 수 많은있다 (jqueryui 링크는 대화 상자를 설명하기위한 것일뿐입니다.)

데모를 확인 모달 상자로 사용하는 것이 좋습니다 (마지막 모범 사례는 페이지)

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

+0

감사. 나는 나의 질문을 명확하게하지 않았지만 미안하다. 내 window.Open 메서드는 선택한 파일을 삭제하는 전달 된 변수와 함께 asp.net 페이지를 엽니 다. 나는 완전한 창문을 추가 할 것이다. 질문에 부분을 풀어 라. 다시 확인해주세요. 감사. – raym0nd

+0

window.open을 사용하는 한 팝업 차단기가 페이지를 중지시킵니다. 내가 말했듯이 당신이 원하는 경우 ASP 페이지를로드 할 수있는 모달 상자를 사용하는 것이 유일한 방법입니다. 모달 상자에는 iframe이 포함될 수 있으므로 원하는대로로드 할 수 있습니다. 팝업 차단기는 window.open 호출을 찾아서 취소합니다. 다른 방법은 사용하지 않고 내용을 표시하는 방식을 변경합니다. – GillesC

+0

iframe에 asp.net 페이지를로드 할 수 없습니다. 데모에서와 같은 방식으로 사용하고 있습니다. 링크를 하드 코딩하면 페이지가 작동하지만 각 항목을 기반으로하는 값이있는 var을 사용하면 페이지가 작동하지 않습니다. 또한 src에 www.google.com을 설정하려고했는데 iframe에 아무것도 표시되지 않았습니다. – raym0nd

관련 문제