Cordova – 不推荐尝试访问非导航器对象上的属性“userAgent”
我试图让我的cordovaiPhone应用程序在iOS 8.1中工作
在7工作正常,因为8我得到以下错误:
Deprecated attempt to access property 'userAgent' on a non-Navigator object.
这是打破了页面中的应用程序的渲染,所以我需要一个修复。 我已经看到了围绕networking提出的各种解决scheme,但似乎没有任何工作。
有趣的是,错误来自从“ https://maps.gstatic.com/maps-api-v3/api/js/17/17/main.js ”检索到的JS。 —也许是我试图使用的Google Maps API的一部分?
任何关于此事的帮助都将是惊人的!
非常感谢
克里斯
你正在使用哪个cordova版本?
现在应该修改为最新版本,但是如果你不想更新项目,你可以在cordova.js文件中将replaceNavigator函数改成这样(其他的都是新的)
function replaceNavigator(origNavigator) { var CordovaNavigator = function() {}; CordovaNavigator.prototype = origNavigator; var newNavigator = new CordovaNavigator(); // This work-around really only applies to new APIs that are newer than Function.bind. // Without it, APIs such as getGamepads() break. if (CordovaNavigator.bind) { for (var key in origNavigator) { if (typeof origNavigator[key] == 'function') { newNavigator[key] = origNavigator[key].bind(origNavigator); } else { (function(k) { Object.defineProperty(newNavigator, k, { get: function() { return origNavigator[k]; }, configurable: true, enumerable: true }); })(key); } } } return newNavigator; }
它看起来像cordova已知的问题,可以通过更新您的cordova版本(以及插件?
从cordovaJira
如果你想获得修复,只需执行以下操作:
- 克隆cordova-js(3.7版)
- 咕噜的git,这将创build所有的本地js文件。
- replace您的platform_www文件夹中的cordova.js