我收到了一个错误报告,当在iOS 6.1上查看时this website崩溃,但我猜这是iOS 6.1附带的浏览器版本,它比操作系统本身更具相关性。我没有任何iOS设备,所以我不确定如何重现/调查此问题。
是否有人建议我如何在Windows / Ubunutu上重现此问题?我试过http://www.browserstack.com/,但他们提供的最新版本是iOS 6.0。
如果有人知道崩溃发生的原因,请告诉我。在主页上有一个嵌入式YouTube视频,我听说flash和iOS都是不安的同床人,所以我想知道这是否可能是原因?
答案 0 :(得分:6)
我能够重现该问题,并从控制台日志中获取此信息:
Feb 14 12:45:54 Aaron-Bragers-iPhone MobileSafari [45279]: CGAffineTransformInvert:奇异矩阵。 2月14日12:45:56 Aaron-Bragers-iPhone MobileSafari [45279]: CGAffineTransformInvert:奇异矩阵。 2月14日12:45:56 Aaron-Bragers-iPhone MobileSafari [45279]: CGAffineTransformInvert:奇异矩阵。 2月14日12:45:57 Aaron-Bragers-iPhone MobileSafari [45279]: CGAffineTransformInvert:奇异矩阵。 2月14日12:45:59 Aaron-Bragers-iPhone ReportCrash [46048]:不保存Jetsam log因为没有来自内核的数据。 2月14日12:45:59 Aaron-Bragers-iPhone UserEventAgent [13]:jetsam:内核 终止快照正在创建2月14日12:45:59 Aaron-Bragers-iPhone MobileSafari [45279]: CGAffineTransformInvert:奇异矩阵。 2月14日12:46:04 Aaron-Bragers-iPhone MobileSafari [45279]: CGAffineTransformInvert:奇异矩阵。 2月14日12:46:04 Aaron-Bragers-iPhone MobileSafari [45279]: CGAffineTransformInvert:奇异矩阵。 2月14日12:46:05 Aaron-Bragers-iPhone MobileSafari [45279]: CGAffineTransformInvert:奇异矩阵。 2月14日12:46:06 Aaron-Bragers-iPhone MobileSafari [45279]: CGAffineTransformInvert:奇异矩阵。
......后面跟着很多记忆警告。
您的网站导致内存泄漏,因此iOS正在关闭Safari。看起来你必须follow these instructions来调试它。
您无法尝试在Windows中重现它。唯一的选择是download Safari 5 for Windows,这可能会产生类似的错误。
但是,这并不使用与Mobile Safari相同的WebKit版本(适用于Windows的Safari更老),因此您可能需要借用朋友的Mac并继续使用:
获取Xcode
如果您还没有,download Xcode from the Mac App Store。
制作空白项目
档案 - >新项目。选择Single View应用程序(或任何其他iOS应用程序,无所谓)。按Next。选择任何项目名称(无关紧要)。按next,然后指定一些位置,然后按“创建”。
运行项目
按左上角的播放按钮,或按Command-R,或从产品菜单中选择运行。
该应用应该在模拟器中启动。
切换到Safari
按主页按钮(或命令shift-H)。然后点按Safari,然后导航到您的网站。
打开终端,然后运行tail -f /var/log/system.log | egrep 'MobileSafari'
。这将显示所有Mobile Safari的日志。 (如果崩溃在Safari之外,您可以删除egrep
以查看所有日志。)
我无法在您的网站上造成iOS或Safari崩溃,但您需要这样做来调试此问题。
切换回终端并查看日志,了解可能导致崩溃的原因。
答案 1 :(得分:6)
我能够在我的iPhone 3GS iOS 6.1上重现这个问题,它立即崩溃,而不会对页面进行任何操作。 Web Inspector上没有错误。使用iOS模拟器时,它不会崩溃,但会在设备日志中显示MobileSafari[11079]: CGAffineTransformInvert: singular matrix.
。
如果我滚动页面而不与任何元素交互,则错误singular matrix
在控制台上重复,即使我逐个像素滚动。
分析很多次,在iOS模拟器上我没有看到任何javascript内存泄漏。所以我猜这是渲染相关的。
所以我删除了要检查的样式表http://festivals.ie/static/mNga2i69LFf9ezK2IBanFA9rPb7jjsGzC6PNOP5MjO1.css
,并停止了矩阵错误。所以这证实了我的担忧。
接下来,我们需要能够分开,造成这种情况的原因。
我对页面进行了分析,并滚动页面,等待singular matrix
错误,并停止分析。这就是我得到的:
重绘区域为320 x 75像素,我猜是顶部标题。
因此,我使用网络检查程序删除了<div class="navbar navbar-fixed-top top-nav">
,并且不再出现singular matrix
错误。
我尝试启用和禁用与div匹配的每个样式,唯一产生差异的是position: fixed
,但它可能是固定div内的冲突。
我尝试了内部的所有元素,我发现只删除<button>
修复了问题。
现在我认为您可以跟踪该按钮的问题。
这是与按钮相关的CSS:
media="screen, projection"
mNga2i69LFf9ezK2IBanFA9rPb7jjsGzC6PNOP5MjO1.css:175
label, input, button, select, textarea {
font-size: 14px;
font-weight: normal;
line-height: 20px;
}
festivals.ie
media="screen, projection"
mNga2i69LFf9ezK2IBanFA9rPb7jjsGzC6PNOP5MjO1.css:21
button, input[type="button"], input[type="reset"], input[type="submit"] {
cursor: pointer;
-webkit-appearance: button;
}
festivals.ie
media="screen, projection"
mNga2i69LFf9ezK2IBanFA9rPb7jjsGzC6PNOP5MjO1.css:19
button, input {
line-height: normal;
}
festivals.ie
media="screen, projection"
mNga2i69LFf9ezK2IBanFA9rPb7jjsGzC6PNOP5MjO1.css:18
button, input, select, textarea {
margin: 0;
font-size: 100%;
vertical-align: middle;
}
festivals.ie
media="screen, projection"
mNga2i69LFf9ezK2IBanFA9rPb7jjsGzC6PNOP5MjO1.css:859
* {
margin: 0;
}
festivals.ie
media="screen, projection"
mNga2i69LFf9ezK2IBanFA9rPb7jjsGzC6PNOP5MjO1.css:798
::selection {
background: #4e87e1;
color: #ffffff;
}
Base Style Rules
input[type="button"], input[type="submit"], input[type="reset"], input[type="file"]::-webkit-file-upload-button, button {
-webkit-box-align: center;
text-align: center;
cursor: default;
color: buttontext;
padding: 0px 1em;
border: 1px solid rgb(76, 76, 76);
border-image: initial;
background-color: rgba(255, 255, 255, 0.0078125);
font: 11px Helvetica;
box-sizing: border-box;
}
input, textarea, keygen, select, button, isindex {
margin: 0em;
color: initial;
letter-spacing: normal;
word-spacing: normal;
line-height: normal;
text-transform: none;
text-indent: 0px;
text-shadow: none;
display: inline-block;
text-align: -webkit-auto;
}
button {
-webkit-appearance: button;
}
我希望这很有用,因为我花了很长时间才到这里。
答案 2 :(得分:2)
我认为在Windows或其他平台上安装的Safari中不会发生这种情况。我认为这是与iOS相关的特定问题。
注意:强>
我的网站崩溃了。当我使用你的网站并点击向前,向后箭头5至6次。当我点击图片后,它会转到 festivals.ie/festival/map 这样的页面并崩溃。
修改强>
在我的mac上安装的safari上测试了相同的内容。在上述情况下没有发现崩溃。所以我认为这是iOS特定的崩溃。 (我认为与记忆或类似的东西有关)。
答案 3 :(得分:1)
您需要注册为Apple Developer才能使用模拟器并使用Web检查器进行调试。
您可以尝试以下链接获取更多信息。
答案 4 :(得分:1)
问题是由
下面注释掉的CSS属性引起的html {
background: url(../images/responsive/bg.svg) no-repeat center center fixed;
/*
-webkit-background-size: cover;
-moz-background-size: cover;
-o-background-size: cover;
background-size: cover;
*/
outline: 0!important;
}
删除这些属性后,问题不再出现