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啦.

  打完...收工!!


« 
» 
快速导航

Copyright © 2016 phpStudy | 豫ICP备2021030365号-3