JQuery JConfirm在iOS上没有使用UIWebview

时间:2012-08-23 00:09:38

标签: jquery ios uiwebview

我们有一个iOS应用程序,它使用UIWebView控件来显示网页。该网页使用JQuery显示jConfirm确认对话框。当用户按下取消按钮时,它不响应。 Javascript应该发布回发到我们的asp.net页面来处理取消。它适用于Safari / iPhone,Chrome / Android,甚至是Android / WEbview原生应用。但它不能在使用UIWebView的iPhone本机应用程序上运行。

以下是我们在按下取消时调用JConfirm和DoPostback的代码片段。 我们在JQuery 1.6.4上。有人知道这是JConfirm和UIWEbView控件的已知问题吗?谢谢,丹

    function showCancelDialog() {
        //set up the confirmation dialog
        $.alerts.okButton = "Yes";
        $.alerts.cancelButton = "No";
        $.alerts.buttonStyle = "font-size:medium; border-bottom: 1px solid #666688; border-right: 1px solid #666688; border-left: 1px solid #eaeaea;  border-top: 1px solid #eaeaea; background-color: #dCdBd6;";
        $.alerts.overlayOpacity = 0.7;

        //confirm to cancel or not
        jConfirm('Your payment will be cancelled. <br> Continue to cancel?', 'Cancel Payment?', function (r) {

            if (r) {
                //they have pressed Yes.
                //now force a server side post back on the asp.net Cancel button
                __doPostBack($(cancelButton).attr('name'), '');
                return true;
            } else {
                return false;
            }
        })

    }

1 个答案:

答案 0 :(得分:0)

更新:我在另一篇SO博客文章中找到了这个问题的答案。

UIWebview and IPhone content does not postback (ASP.NET Browser Capability issues)

简而言之,解决方案是设置@Page级别指令ClientTarget =“uplevel”,或者在页面加载中使用代码进行设置。

旁注,我无法弄清楚如何将ClientTarget放在web.config中以使其在网站范围内发生。如果有人说出来,请在此处发布解决方案。