简单模式在jQuery 1.8.0中失败,IE9出现错误:
SCRIPT438:对象不支持属性或方法“removeExpression”
下面的小提琴演示了(请记住使用IE9运行)
http://jsfiddle.net/ericjohannsen/ZVEWa/1/
将jQuery切换到1.7.2会导致错误消失。
有办法解决这个问题吗?
可能与有关(OP说问题在于jQuery 1.7.1 & iframes)
SimpleModal doesn't work in IE 9 (inside Iframe)
非血缘关系 (jQuery 1.5期)
发布于 2012-08-26 02:20:06
似乎可以通过将$.boxModel更改为$.support.boxModel来解决此问题。您可以在http://github.com/ericmmartin/simplemodal上获取更新版本。
我将尝试获得一个完整的打包发行版,与min版本,不久。
编辑SimpleModal 1.4.3已经是released,应该解决这个问题
发布于 2013-08-02 17:31:32
只是为了提供一个更新的答案(截至2013年8月2日),因为我无意中发现了这篇文章,当时我正在搜寻同一个bug……
正如salgiza在上面的一条评论中指出的,jQuery 1.10中有一个变化,它放弃了对$.support.boxModel的支持,这是最新版本的简单Modal。
要解决此问题,必须更改简单Modal源代码中的以下行:
// (Line 239) $.support.boxModel is undefined if checked earlier
//browser.ieQuirks = browser.msie && !$.support.boxModel;
browser.ieQuirks = browser.msie && (document.compatMode === "BackCompat");发布于 2012-12-20 11:27:12
具有与前面提到的相同的错误'Object不支持属性或方法'removeExpression'‘。除了IE之外,所有浏览器都会弹出模态窗口。(使用文件jquery.simplemodal.js的非小型化版本1.4.3 )
通过在所有动态属性周围放置try {} catch (e) {}来修正它。
例如。
try {
s.removeExpression('top');
}
catch (e) {
//The support for dynamic properties has been removed in Internet Explorer 9
}模式窗口现在显示在所有浏览器中。
https://stackoverflow.com/questions/12046242
复制相似问题