我有一个问题,当页面变得太大时,在使用jQuery加载和操作DOM时,Mobile Safari会崩溃.
我在iPhone和iPad上都遇到了同样的问题.
对移动页面进行故障排除以查找错误的最佳方法是什么?是否存在可能导致Mobile Safari崩溃的已知问题?
当我在iPad 4浏览器上查看以下html页面时(无论是Safari还是Chrome),浏览器在缩放时都会崩溃(双击缩放或缩放缩放).该页面包含40个简单的div(由javascript插入以简洁起见)具有属性-webkit-backface-visibility:hidden.
<!doctype html>
<html>
<head>
<style>
.front {
-webkit-backface-visibility: hidden;
position: absolute;
border: 1px solid black;
width: 800px;
height: 800px;
}
</style>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
</head>
<body id="outer">
<script>
$(function() {
for (var i = 0; i < 40; i++) {
$(document.createElement('div'))
.css({top: i*10, left: i*10})
.addClass("front").appendTo($("#outer"));
}
})
</script>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
也许在iPhone和旧版iPad上也会出现同样的问题.这是一个奇怪而烦人的错误; 当我停用-webkit-backface-visibility:内部元素的隐藏样式时,它不会发生.
您可能会问:为什么我不能简单地删除-webkit-backface-visibility:hidden样式,因为它在这个页面上没有任何区别?嗯,这是一个极小的反例,我需要在实际的,更复杂的页面上.