Saturday, 15 March 2014

android - kendo UI mobile ListView hang after opening external link on native browser -



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 causes

note 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