【发布时间】:2013-07-01 11:22:06
【问题描述】:
我在我的网站上使用Mason。一切正常,除了 IE8(谁会猜到?)。
它返回的错误:
SCRIPT5007: Unable to get value of the property '1': object is null or undefined.
触发此错误的行:
if( w >= settings.columns[colsCount][1]){
发生错误时,colsCount 返回“4”。当我在其他浏览器中测试它时,它最多只返回 3 个。我试图做负 1,但这会在其他多行上产生错误。
当您在 Github 上下载 zip 文件时,我测试了包含在 zip 文件中的演示,即使该演示在 IE8 中也失败了。正如你在 Github 上看到的那样,我已经报告了这个问题,但我想请你们快速解决,因为我的这个项目的截止日期很快。
我已经尝试了多个网格来实现我想要的,所以尝试另一个像 Masonry 和 Isotope 这样的网格是不可能的。 (他们不提供客户想要的东西)。
感谢您关注这个!
【问题讨论】:
-
如果 count 确实是 count,这是常见的错误,array[array.length] 总是会越界,因为 index 是从零开始的。
-
我知道,在这行代码之前,代码中已经有一个-1。
colsCount = settings.columns.length - 1; -
演示中存在一个错误。事实上,在这一切。看看
sizes: [ [1,1], [1,2], [2,2], ],[2,2]之后的最后一个逗号是破坏交易的。 IE8 需要下一个元素。删除它并演示工作。 -
非常感谢,我已经在我的代码中检查逗号,但从未想过数组中的数组。谢谢! :-)
-
如果你愿意,你可以随时发布这个作为答案,我会接受的:)
标签: javascript internet-explorer-8 mason