本文介绍了SimpleModal在IE 9中不起作用(在iframe内部)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

使用IE 9时出现以下错误(Chrome和FireFox效果很好):

I'm getting following error when using IE 9 (Chrome and FireFox works great):

简单Modal在Iframe内部调用。 jQuery.min(1.7.1)包含在Iframe中的SimpleModal(1.4.2)之前。

Simple Modal is called inside Iframe. jQuery.min (1.7.1) is included before SimpleModal (1.4.2) in the Iframe.

负责显示模态对话框的代码:

The code responsible for showing modal dialog:

function OpenContextByClass(cssClass, posY, posX) {
    var winHeight = $(window).height();
    var winWidth = $(window).width();

    $('.' + cssClass).modal({
        overlayClose: true,
        position: [posY, posX],
        appendTo: 'form',
        onOpen: function (dialog) { dialog.overlay.fadeIn('fast', function () { dialog.container.slideDown('fast', function () { dialog.data.fadeIn('fast'); }); }); },
        onShow: function (d) {
            var self = this;
            self.container = d.container[0];
            var title = $('.' + cssClass, self.container);
            title.show();
            $('.' + cssClass, self.container).show();

            setTimeout(function () {
                var currentPositionX = posX;
                var currentPositionY = posY;
                var currentWidth = $('.' + cssClass, self.container).width() + 50;
                var currentHeight = $('.' + cssClass, self.container).height() + 50;
                posY = (currentPositionY + currentHeight) < winHeight ? currentPositionY : (winHeight - currentHeight);
                posX = (currentPositionX + currentWidth) < winWidth ? currentPositionX : (winWidth - currentWidth);

                d.container.animate(
                                { left: posX, top: posY },
                                500,
                                function () {
                                    $('.' + cssClass, self.container).show();
                                }
                            );
            }, 550);
        }
    });
}


推荐答案

我遇到了同样的问题。我发现这篇文章:

I have got the same problem. And I found this article: http://help.dottoro.com/ljuvxilu.php

在Internet Explorer 9中删除了对动态属性的支持,因此不支持getExpression,removeExpression,setExpression和recalc方法。这些方法存在于版本8中,但使用它们会引发异常。

这篇关于SimpleModal在IE 9中不起作用(在iframe内部)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

09-21 11:24