【发布时间】:2014-03-01 16:10:22
【问题描述】:
我最近收到了一张支持票,说我们的一些网络应用程序的功能在 iPad 上导致 safari 崩溃。在最新的 iOS 7.0.6 更新之前,此功能没有问题。我们有一些 GWT ValueListBoxes,当它们的值改变时会改变 DOM。在进行更改之前,我们向用户显示 Window.confirm() 消息,告知他们更改将产生的影响,并询问他们是否仍想继续。自更新以来,确认选项无任何作用,Safari 崩溃。这只发生在 iPad 上。该功能在桌面浏览器(IE、Chrome、Firefox、Safari 和 Chrome 移动模拟器)上运行良好,但在 iPad 上会导致 safari 崩溃。其他人有这个问题吗?
这是崩溃的截图:
下面是代码示例:
this._view.isPrimaryFoodGen().addValueChangeHandler(new ValueChangeHandler<Boolean>()
{
@Override
public void onValueChange(final ValueChangeEvent<Boolean> event)
{
@SuppressWarnings("unchecked")
ValueListBoxWithOldValue<Boolean> vlb = (ValueListBoxWithOldValue<Boolean>)event.getSource();
if (confirmQuestionChange() ){
changeGroupAndQuestions(CONSTANTS.PRIMARY_FOOD, event.getValue());
}
else {
vlb.setValue(vlb.getOldValue());
}
}
});
public boolean confirmQuestionChange()
{
if (!this._view.isImageCriteriaQuestionsVisible())
{ //questions aren't currently visible
return true;
}
boolean confirmed = Window.confirm("Changing this response will delete image data already collected. Do you wish to proceed?");
return confirmed;
}
任何有关防止 iPad 崩溃的解决方案的帮助将不胜感激。在调用 Window.confirm() 之前,我曾尝试关注另一个元素,希望删除覆盖层和 ValueListBox 选项以阻止任何 JS 冲突,但它没有奏效。
在下一次更新解决此问题之前,我是否会任由 Apple 摆布? 或者有没有可行的解决方案?
【问题讨论】: