2

我正在使用deck.js (http://imakewebthings.com/deck.js/) 重新创建公司的PowerPoint 演示文稿,使用了相当多的CSS3 动画和Javascript。

在我的 wifi-only iPad2 上通过开发进行测试很好,但是在 wifi+3G iPad1、2 和 3 上检查页面在页面加载时会导致 Safari 崩溃(iPhone 4S 可以正常工作)。

一些基本的调试(一张一张地删除幻灯片)表明它是 DOM 的大小导致崩溃,因为当我将演示文稿从 31 张幻灯片减少到 21 张时它工作正常。

页面的总大小约为 4.3MB,我尝试使用 appcache 清单无济于事。

我在各种论坛上看到很多人遇到 iOS 5.1 Safari 崩溃的问题 - 有没有人遇到过 iPad 3G 模型在复杂 DOM 的压力下崩溃的经历?

任何想法和建议都非常感谢。

4

1 回答 1

1

事实上,这似乎是这样的设备上的 deck.js 的限制。Martin Fowler 报告了同样的问题并最终以增量方式加载幻灯片作为一种解决方法 ( http://martinfowler.com/bliki/Infodeck.html )。

查看问题是来自加载 DOM 还是来自显示它会很有帮助(默认的 deck.js 主题未针对显示效率进行优化)。不幸的是,我无法测试,因为我没有 ipad,但我建议尝试隐藏所有幻灯片,看看是否仍然存在崩溃。一些 CSS 代码可以做到这一点:

.deck-container > .slide:not(.deck-current), .deck-container > .slide:not(.deck-child-current) { display: none; }
于 2013-08-21T14:21:56.457 回答