我在我的JQM应用程序中添加了一些异常处理,而且我在页面转换方面遇到了麻烦。
简而言之,我这样做:
window.onerror = function myErrorHandler(errorMsg, url, lineNumber) {
// Crap, something bad happened somewhere.
// Tell the user about it
// Report it to TestFlight
// Look at the variables in memory and try to determine how to gracefully recover.
}
总的来说它运作良好 - 我通常可以将用户返回主菜单或其他“安全”恢复点,而不是将应用变成摇滚。
问题是:如果在页面初始化期间发生异常,则JQM的“isPageTransitioning”标志保留为TRUE。因此,它不再接受$ .mobile.changePage()调用。
JQM中有一个名为releasePageTransitionLock()的函数可以解决问题。但是,它并没有公开曝光。
我通过添加此方法来攻击JQM:
$.mobile.releasePageTransitionLock = function()
{
releasePageTransitionLock();
}
完美无缺 - 但我宁愿不破解我的JQM文件。
是否有其他合理的方法可以在JQM的受保护环境中访问releasePageTransitionLock()?