IE 11无法正确渲染砌体js

时间:2014-10-25 15:44:22

标签: angularjs twitter-bootstrap internet-explorer masonry

最新更新:

这在新的砌体版本中得到修复。

原帖:

我有一个带有Bootstrap3风格的AngularJS网站,可以在Chrome,Safari和Firefox中正常使用,但在IE中则不行(我认为那些日子会结束)。

我使用Masonry - 插件来显示一些图块。我第一次打开页面IE11将瓷砖粘在一起。我相信这是因为bootstrap中的填充有些问题。在尝试调试应用程序或仅在console.log上显示可变内容时,一切正常。此外,在重新加载页面之后,所有内容都按预期呈现,实际上只有在第一次访问页面时才会呈现。

我注意到Masonry的网站和示例与IE一起使用,所以我想弄清楚它们有什么不同。

上述问题也出现在IE10中 - 我没有关于IE9的任何信息,我们不打算支持IE8或之前。

更新:我注意到砌体网站没有使用填充(比如bootstrap),而是使用边距,实际上当我删除填充并添加边距时,它可以正常工作。但问题仍然存在 - 为什么它不适用于填充?

更新2:我有一个显示错误的工作测试。它非常广泛,可以在这里访问:http://server.grman.at/ie11-intro.html

它表明问题只发生在IE中,如果某个脚本(可能是砌体库)在页面之前和之后被预先加载。

以下是Chrome应该如何显示的屏幕截图:

Working Masonry example from Chrome

这里有一个截图,介绍它在IE11中的显示方式:

Broken Masonry example from IE11

最后更新:是的,这是砌体脚本,我已经创建了第二个介绍页面:http://server.grman.at/ie11-intro2.html它没有预加载砌体脚本并且它有效,现在问题是 - 为什么?

2 个答案:

答案 0 :(得分:2)

在玩了一下你的演示后,我发现在 Bootstrap和自定义样式之前加载masonry.pkgd.min.js 会为我解决问题。 Masonry设置中的某些内容正在打破Internet Explorer中的重新导航 - 虽然我目前没有具体细节。

将砌体脚本标记移动到文档顶部,Bootstrap和样式上方,您会发现问题已解决。

答案 1 :(得分:0)

显而易见且快速的答案(因为我不确定错误是否可以在砌体脚本中首先修复)是,当您不打算在网站中使用时,删除对砌体脚本的引用

<强>更新

这在新的砌体版本中得到修复