我有一个IE没有实现JavaScript错误,它似乎与我到目前为止在本网站上阅读的内容没有任何关系。
我使用的是jquery.simplemodal插件,除IE之外的所有浏览器都可以正常工作,除非我将doctype更改为
<!DOCTYPE HTML PUBLIC“ - // W3C // DTD HTML 4.0 Transitional // EN”>
IE将错误指向以下代码的第一行(我的意思是粗体行):
s.removeExpression( '高度');
s.removeExpression( '宽度');
s.setExpression('height',''+ bsh +'>'+ bch +'?'+ bsh +':'+ bch +'+“px”');
s.setExpression('width',''+ bsw +'>'+ bcw +'?'+ bsw +':'+ bcw +'+“px”');
如何在使用与
不同的doctype时在IE中使其工作<!DOCTYPE HTML PUBLIC“ - // W3C // DTD HTML 4.0 Transitional // EN”>
(我想使用此doctype
<!DOCTYPE html PUBLIC“ - // W3C // DTD XHTML 1.0 Transitional // EN”“http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">)
该插件位于http://lescracks.com/jquery.simplemodal.js。 IE在第142行检测到错误。
由于
还有一件事,在IE中启用兼容性视图也可以正常工作。
答案 0 :(得分:2)
.setExpression()
和.removeExpression()
是非标准方法。在IE8中,Microsoft在标准模式(XHTML doctype触发)中删除了对它们的支持,因为他们试图使其浏览器更符合标准。
有an issue in simplemodal's issue bug tracker讨论这个问题。显然它已在版本1.4.1中修复,但您使用的是1.2.2。他们必须停止依赖这些方法;你必须升级。