【问题标题】:Mason not working in IE8梅森不在 IE8 中工作
【发布时间】: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


【解决方案1】:

在流畅的页面中,有几个尾随逗号的脚本错误:layout: 'fluid' 有一个额外的逗号导致脚本错误和大小

var sizes= [
                    [1,1],
                    [1,2],
                    [2,2],
                ]
console.log(sizes.length)//=3 in ff and 4 in IE

无需更改库,只需更改调用代码。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-03
    • 1970-01-01
    • 2011-08-16
    • 1970-01-01
    • 2011-05-18
    • 2014-11-14
    相关资源
    最近更新 更多