2012-04-25 78 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 2012-04-25 14:12:33

+0

請再次檢查問題。我添加了用於重寫的salesforce頁面。對不起,我刪除了隱私問題的所有參數。 – raym0nd 2012-04-25 14:19:31

回答

1

不要window.open作爲可能被阻止,因爲它是一個彈出使用。

如果你不希望如果你需要問它,而不是使用上看到http://jqueryui.com/demos/dialog/一個模式對話框的奇特的方式,你可以使用JavaScript的confirm功能

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 2012-04-25 14:34:26

+0

這是無關緊要的,只要你使用window.open彈出式窗口攔截器將停止你的頁面。就像我聲稱你唯一的出路是使用一個模式框,如果你願意,你可以在其中加載你的ASP頁面。模式框還可以包含一個iframe,因此您可以加載任何您想要的內容。彈出窗口阻止程序查找window.open調用並取消它們,除此之外沒有其他辦法可以改變顯示內容的方式。 – GillesC 2012-04-25 14:38:29

+0

我無法加載iframe中的asp.net頁面。我在演示中使用與他們相同的方式。如果我硬編碼鏈接頁面的作品,但如果我使用基於每個項目的值的頁面不工作。我也嘗試將我的src設置爲www.google.com,iframe不顯示任何內容。 – raym0nd 2012-04-25 19:02:45