在IE9中调用date.getHours()时,“无法从释放的脚本执行代码”

时间:2012-01-20 16:16:51

标签: javascript internet-explorer-9

我将Date对象传递给调用date.getHours()的方法或任何其他方法,例如date.getFullYear(),并抛出错误"Can't execute code from a freed script"。似乎IE9没有正确支持日期选择器使用的日期对象。

我是javascript /通用编码的新手,并且遇到了一个似乎只出现在IE9中的问题。我正在警告所有人,因为我可能已经完全以错误的方式解决了这个问题......

我尝试了各种不同的尝试来解决这个问题,例如:

if (date.getHours()=="undefined") {
    var localDate = new Date(date);
    var hours = localDate.getHours();
    // etc 
}

我现在有一个解决方案(它可能不是最好的,但它可以完成工作)并将在下面发布,但是我想知道是否有其他人遇到过同样的问题以及他们如何解决它? / p>

1 个答案:

答案 0 :(得分:3)

根据我的经验,当您使用的Date对象是在另一个窗口中构建时,问题就发生了,因为它的构造已经关闭了其他窗口或者用新页面重新加载。

解决方案是以某种字符串形式发送对象窗口,在目标上下文中根据需要重新构建它们。

(当然不仅仅是Date实例;它是任何对象类型。如果我记得的话,原语没有问题。)

相关问题