Javascript 放大文本输入字段时(仅在放大时)在iPhone 4/4s(iOS 7.0.1)上崩溃Safari
Safari在运行iOS 7的iPhone4/4s上放大我们网站上的文本字段时会持续崩溃。我们的网站在iPhone5和台式机上运行良好 复制: 1) 从iPhone 4/4s访问 2) 使用两个术语(例如,“stackoverflow rocks”)进行搜索 3) 加载结果页面后,放大顶部的搜索字段。调整搜索条件。野生动物园坠毁了。你必须放大。如果您在不缩放的情况下调整搜索词,则该网站工作正常 编辑文本字段时执行以下jQuery代码:Javascript 放大文本输入字段时(仅在放大时)在iPhone 4/4s(iOS 7.0.1)上崩溃Safari,javascript,ios,iphone,safari,mobile-safari,Javascript,Ios,Iphone,Safari,Mobile Safari,Safari在运行iOS 7的iPhone4/4s上放大我们网站上的文本字段时会持续崩溃。我们的网站在iPhone5和台式机上运行良好 复制: 1) 从iPhone 4/4s访问 2) 使用两个术语(例如,“stackoverflow rocks”)进行搜索 3) 加载结果页面后,放大顶部的搜索字段。调整搜索条件。野生动物园坠毁了。你必须放大。如果您在不缩放的情况下调整搜索词,则该网站工作正常 编辑文本字段时执行以下jQuery代码: function text_field_onclick( f
function text_field_onclick( field ) {
field = $( field );
if ( field.hasClass('tip') ) {
field.removeClass('tip');
field.val( '' );
}
}
function text_field_onblur( field ) {
field = $( field );
if ( !field.val() ) {
field.addClass('tip');
field.val( field.attr('tip') );
}
}
为什么Safari会崩溃?这与我们的网站有关吗?发生这种情况是因为“内存不足”,这是一个内存问题。iPhone5的内存比iPhone4和iPhone4s的内存大。这就是为什么iPhone5上不会出现这种情况。这是一个性能问题。请提高应用程序的性能或解决内存问题。可能在您的应用程序中,某些函数正在使用更多内存,这就是为什么会发生这种情况。问题确实是内存问题,消除崩溃的唯一方法是提高页面性能。我建议使用完整构建页面,然后开始一个接一个地从中删除部分,直到页面工作正常为止 在本文中,作者描述了删除一条注释可以使bug消失 整个过程真的很痛苦,但是对于调试这种类型的错误,还没有其他的可能性
另请注意:在开发模式下,浏览器本身用于渲染和页面性能的内存较少。因此,关闭开发会带来很大的不同。您是否查看过崩溃日志,看看是否有什么突出的地方?iOS 7.0是出了名的崩溃,尤其是在旧设备上。“这是苹果的错,不是你的错。如果你确定的话,@AndrewMedico,把这篇文章作为回答,假设没有人反驳你,我们会给你赏金的。”小杰克帕蒂沙尔。不,我们没有,不仅仅是因为我们隔离了缩放行为的原因。在mobile safari上查看崩溃日志的最佳方式是什么?@Crashalot我会使用xcode。当您插入设备时,应该会看到“管理器”启动。您可能需要将设备配对以供开发使用,以访问日志。一旦一切就绪,您将看到设备日志,并希望能够对日志进行符号化,以查看是什么导致了它崩溃。在过去,我曾使用此过程来解决移动web应用程序中的崩溃问题(内存不足、webkit呈现问题等)