IE的window.showModalDialog出现内存不足的问题
今天在使用window.showModalDialog时, 发现IE一打开模态窗口就报"存储空间不足,无法完成此操作。"的错误.
跟踪发现竟是jQuery的问题. 但很奇怪, 在一般窗口则一点问题都没有. 于是google了半天, 找不到解决方法.
后来在搞了大半个小时终于找到了问题的所在. 原来IE在模态窗口中不能访问 "navigator.userAgent", 而jQuery里面用了.
我总不能为了这么个小东东放弃jQuery吧.
后来查了下, 它里面就访问过一次., 我改一下jQuery吧.
其实很简单, 判断一下当前的窗口是不是模态窗口就行了:
在jQuery中找到 navigator.userAgent.toLowerCase()
改成:
((parseInt(self.dialogWidth)>=0)?"":navigator.userAgent.toLowerCase())
因为一般窗口没有dialogWidth的属性, 所以用它来作是否模态的判断.
这样就OK啦.
打完...收工!!