android - kendo UI mobile ListView hang after opening external link on native browser -
in kendo ui mobile listview, script open external link native browser called when link clicked.
the phonegap script follow: on android: navigator.app.loadurl(link, { openexternal:true } ); on ios: window.open(link, '_system');
the link can opened on corresponding native browser.
however, when user switch app native browser, problems happen.
on android, screen hung on original view, when button pressed again, screen un-freezed , can refreshed.
on ios, however, screen hung on original view. when tapped on screen, finish view (with layout) moved. there no way un-freeze screen.
how prepare screen can un-frezzed after switching native browser app?
thank much help.
updated 1:
i changed original tag tag, everythings work now. still curious see if kind of bugs kendo ui mobile.
there serious problem kendo mobile hanging page completely, making app totally unresponsive touch/mouse. offending css in loader.transition() this.container.css("pointer-events", "none")
equivalent to:
document.body.style.pointerevents = "none";
ouch - ugly. plus in _attachcapture there offensive javascript mouse , touch events does:
event.preventdefault();
fatal if using app embedded total page webview/uiwebview (requiring app closed , restarted).
hangs can happen if:
you have exception in code (even in unobvious places), you mistype transition (no exception, hangs), a user's browser doesn't fire transitionend event reason (this repeatable 1 user's up-to-date chrome browser. there failure mode in interaction between page transitions , loader (depending on timing, couldn't repeat), multiple other causesnote there comment in kendo says: "this should cleaned @ point (widget widget), , refactored widgets not relying on finish callback if no transition occurs.", telerik know there problem.
you can utilize next code during development @ to the lowest degree warn when kendo mobile has crapped itself:
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 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); }
android ios cordova mobile kendo-ui
No comments:
Post a Comment