|
引入这个补丁,然后按照头注释修改APP.js、
- /**
- *
- * https://gist.github.com/IgorMinar/863acd413e3925bf282c
- *
- *
- *
- * ================== angular-ios9-uiwebview.patch.js v1.1.1 ==================
- *
- * This patch works around iOS9 UIWebView regression that causes infinite digest
- * errors in Angular.
- *
- * The patch can be applied to Angular 1.2.0 – 1.4.5. Newer versions of Angular
- * have the workaround baked in.
- *
- * To apply this patch load/bundle this file with your application and add a
- * dependency on the "ngIOS9UIWebViewPatch" module to your main app module.
- *
- * For example:
- *
- * ```
- * angular.module('myApp', ['ngRoute'])`
- * ```
- *
- * becomes
- *
- * ```
- * angular.module('myApp', ['ngRoute', 'ngIOS9UIWebViewPatch'])
- * ```
- *
- *
- * More info:
- * - https://openradar.appspot.com/22186109
- * - https://github.com/angular/angular.js/issues/12241
- * - https://github.com/driftyco/ionic/issues/4082
- *
- *
- * @license AngularJS
- * (c) 2010-2015 Google, Inc. http://angularjs.org
- * License: MIT
- */
- angular.module('ngIOS9UIWebViewPatch', ['ng']).config(['$provide', function($provide) {
- 'use strict';
- $provide.decorator('$browser', ['$delegate', '$window', function($delegate, $window) {
- if (isIOS9UIWebView($window.navigator.userAgent)) {
- return applyIOS9Shim($delegate);
- }
- return $delegate;
- function isIOS9UIWebView(userAgent) {
- return /(iPhone|iPad|iPod).* OS 9_\d/.test(userAgent) && !/Version\/9\./.test(userAgent);
- }
- function applyIOS9Shim(browser) {
- var pendingLocationUrl = null;
- var originalUrlFn= browser.url;
- browser.url = function() {
- if (arguments.length) {
- pendingLocationUrl = arguments[0];
- return originalUrlFn.apply(browser, arguments);
- }
- return pendingLocationUrl || originalUrlFn.apply(browser, arguments);
- };
- window.addEventListener('popstate', clearPendingLocationUrl, false);
- window.addEventListener('hashchange', clearPendingLocationUrl, false);
- function clearPendingLocationUrl() {
- pendingLocationUrl = null;
- }
- return browser;
- }
- }]);
- }]);
复制代码 |
|