2011-08-16 106 views
7

我正在開發一款與iPad兼容的網絡應用程序。iPad safari modalpopup問題

之前我在iOS 3.2版本上測試過,所有的模態對話框彈出窗口都很好地返回父窗口的值。但是在將我的iOS升級到4.3之後,它表現得很奇怪。現在,在iPad上,它會返回一個值,但不會更新該字段,直到我點擊另一個字段或同一個字段(HTML文本字段)。

我打開使用window.open()的模態彈出窗口;

並返回使用window.opener.oaEventiPad(retValArray); oaEventiPad是負責設置更新值的函數。

任何人都可以請幫忙嗎?

謝謝,

+0

請發表您更多的代碼,感謝 –

+0

你能否oaEventiPad()函數發佈您的代碼?這將有助於我們更多地理解。 – CaptainBli

回答

0

我是通過類似的問題。我在我的asp.net應用程序中打開一個彈出窗口window.open,該應用程序應該與iPad兼容。當我使用IE,Chrome,FireFox和Safari(在裝有Windows 7的PC上)時,已成功返回值。

不幸的是,當我通過iPad訪問應用程序時,相同的代碼在Safari中失敗。在iPad上,在新窗口打開時會提示domObject,而不是在新窗口關閉時提示返回的值。

以下是代碼。 父窗口:

enter code here 


<script type="text/javascript"> 

     function modalWin() { 
      //alert('clicked'); 
      if (window.showModalDialog) { 
       retVal = window.showModalDialog("About.aspx", "name", "dialogWidth:255px;dialogHeight:250px"); 
       alert(retVal); 
      } 
      else { 
       retVal = window.open('About.aspx', 'name', 'height=255,width=250,toolbar=no,directories=no,status=no, menubar=no,scrollbars=no,resizable=no ,modal=yes'); 
       alert(retVal); 
      } 

     } 
    </script> 
//HTML 
<asp:Content ID="BodyContent" runat="server" ContentPlaceHolderID="MainContent"> 
<a title="Test New Popup" onclick="modalWin();">New Popup for all browsers.</a>. 
</asp:Content> 

新頁:

 <script type="text/javascript"> 
     function closeIt(tempValue) { 
      window.returnValue = tempValue; 
      window.close(); 
     } 
    </script> 
//HTML: 
<input id="btnButton1" value="btnButton1" type="button" title="Press it to Close" onclick="closeIt('btnButton1');" /> 
    <br /> 
    <input id="btnButton2" value="btnButton2" type="button" title="Press it to Close" onclick="closeIt('btnButton2');" /> 
    <br /> 
    <input id="btnButton3" value="btnButton3" type="button" title="Press it to Close" onclick="closeIt('btnButton3');" />