Android kendo UI mobile ListView在本机浏览器上打开外部链接后挂起
在Kendo UI Mobile ListView中,单击链接时会调用一个脚本以通过本机浏览器打开外部链接 PhoneGap脚本如下所示: 在Android上: navigator.app.loadUrl(链接,{openExternal:true}); 在iOS上: 打开(链接“U系统”) 可以在相应的本机浏览器上打开该链接 但是,当用户从本机浏览器切换回应用程序时,会出现一些问题 在Android上,屏幕挂在原始视图上,当再次按下“后退”按钮时,屏幕将取消冻结并可以刷新 然而,在iOS上,屏幕也挂在原始视图上。点击屏幕时,整个视图(带有布局)将移动。无法取消冻结此屏幕 如何解决这一问题,以便在从本机浏览器切换回应用程序后,屏幕可以无雀斑 非常感谢你的帮助 更新1:Android kendo UI mobile ListView在本机浏览器上打开外部链接后挂起,android,ios,cordova,mobile,kendo-ui,Android,Ios,Cordova,Mobile,Kendo Ui,在Kendo UI Mobile ListView中,单击链接时会调用一个脚本以通过本机浏览器打开外部链接 PhoneGap脚本如下所示: 在Android上: navigator.app.loadUrl(链接,{openExternal:true}); 在iOS上: 打开(链接“U系统”) 可以在相应的本机浏览器上打开该链接 但是,当用户从本机浏览器切换回应用程序时,会出现一些问题 在Android上,屏幕挂在原始视图上,当再次按下“后退”按钮时,屏幕将取消冻结并可以刷新 然而,在iOS上,屏
我把原来的标签改成了标签,现在一切都正常了。但我还是很好奇这是否是Kendo UI Mobile的某种缺陷。Kendo Mobile完全挂起页面,使应用程序对触摸/鼠标完全没有反应,这是一个严重的问题。有问题的CSS位于Loader.transition()中,它的作用是
this.container.CSS(“指针事件”,“无”)
,相当于:
document.body.style.pointerEvents = "none";
哎哟,真难看。另外,在_attachCapture中,所有鼠标和触摸事件都有攻击性JavaScript,它可以:
event.preventDefault();
如果使用嵌入完整页面WebView/UIWebView的应用程序(需要关闭并重新启动应用程序),则会导致致命错误
如果出现以下情况,则可能发生挂起:
- 您的代码中有一个异常(即使在不明显的地方)
- 您输入了错误的转换(没有例外,只是挂起)
- 由于某种原因,用户的浏览器无法正确触发transitionEnd事件(对于一个用户的最新Chrome浏览器,这是可以重复的)
- 页面转换和加载程序之间的交互存在故障模式(取决于时间,无法重复)
- 其他多种原因
var transitionTimer;
kendo.mobile.ui.Loader.prototype.wasTransition = kendo.mobile.ui.Loader.prototype.transition;
kendo.mobile.ui.Loader.prototype.transition = function() {
transitionTimer = setTimeout(function() {
alert('Kendo has hung the page');
}, 10000);
this.wasTransition.apply(this, arguments);
}
kendo.mobile.ui.Loader.prototype.wasTransitionDone = kendo.mobile.ui.Loader.prototype.transitionDone;
kendo.mobile.ui.Loader.prototype.transitionDone = function() {
clearTimeout(transitionTimer);
this.wasTransitionDone.apply(this, arguments);
}