使用 IE 9 时出现以下错误(Chrome 和 FireFox 效果很好):
SCRIPT438: Object doesn't support property or method 'removeExpression' jquery.simplemodal.1.4.2.min.js, line 16 character 133
Simple Modal 在 Iframe 中被调用。 jQuery.min (1.7.1) 包含在 Iframe 中 SimpleModal (1.4.2) 之前。
负责显示模态对话框的代码:
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);
}
});
}
最佳答案
我有同样的问题。我找到了这篇文章:http://help.dottoro.com/ljuvxilu.php
Internet Explorer 9 中删除了对动态属性的支持,因此不支持 getExpression、removeExpression、setExpression 和 recalc 方法。这些方法存在于版本 8 中,但使用它们会引发异常。
关于iframe - SimpleModal 在 IE 9 中不起作用(在 Iframe 内),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10782849/