在谷歌浏览器和IE浏览器中打开Jquery对话框后不会立即显示

时间:2015-06-04 07:16:28

标签: javascript jquery jquery-ui

我正在尝试打开一个验证权限对话框,显示用户是否拥有权限,并显示进度图标。

在IE和Google Chrome中,问题是对话框一打开就不会出现,但只有在验证了所有权限后才会出现。 在火狐中这是正常的。

以下是关于它如何显示的对话框的img。

enter image description here

这是代码

var StartVerifyingPermission = function (serverId) {
    $("#dialog-message").removeAttr("title").attr("title", "Verifying Permissions");
    $("#ui-dialog-title-dialog-message").text("Verifying Permissions");
    var html = ' <table>\
         <tr>\
             <td>Skype for Business Admin</td>\
              <td id="isSkypeForBusinessAdmin">Update Status with ajax</td>\
         </tr>\
         <tr>\
             <td>Compliance Manager</td>\
             <td id="isComplianceManager">Update Status with ajax</td>\
         </tr>\
     </table>';
    var msg = "<div style='background:white'>" + html + "</div>";
    $("#dialog-message").html(msg);

    $("#dialog-message").dialog({
        open: function (event, ui) {
            $(this).css({ 'max-height': 70, 'overflow-y': 'auto' });
        },
        modal: true
    });

    var isSkypeAdmin = CheckPermission("isSkypeForBusinessAdmin", serverId);

    if (isSkypeAdmin) {
        var isComplianceManager = CheckPermission("isComplianceManager", serverId);
    }
    if (isComplianceManager) {

    }
};
    var CheckPermission = function (permissionName, serverId) {

        var tag = '#' + permissionName;
        var progressImage = '<img src="../Images/SplashPageLoader.gif" height="30px"/>';
        var sucessImage = '<img src="../Images/mark_tick.ico" height="30px"/>';
        var failedImage = '<img src="../Images/mark_cross.jpg" height="30px"/>';

        $(tag).html(progressImage);

        var hasPermission = false;
        $.ajax({
            type: 'POST',
            url: "MyHandlerfile.ashx?cmd=" + permissionName,
            data: {
                serverId: serverId
            },
            async: false,
            success: function (result) {
                if (result.success) {
                    $(tag).html(sucessImage);
                    hasPermission = true;
                } else {
                    $(tag).html(failedImage);
                }
            },
            error: function () {
                $(tag).html(failedImage);
            }
        });
        return hasPermission;
    };

    var RegisterTestPermissionsEvent = function () {
        $(".testPermission").live("click", function() {
            var serverId = parseInt($(this).attr('id'));
            StartVerifyingPermission(serverId);
        });

    };

0 个答案:

没有答案