apache/cordova-js — pull request #80 by shazron (2014-09-10 02:16:23+00:00)
Title: CB-6911 - iOS 8 - "deprecated attempt to access property" errors when accessing anything off window.navigator

Tested on iOS 8 UIWebView. Any attempt to call the bridge will result in:
"Deprecated attempt to access property 'userAgent' on a non-Navigator object." in the console of the Web Inspector.

Object.defineProperty seems to have broad support in mobile browsers:
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/__defineGetter__#Browser_compatibility

Not sure about IE Mobile, that's why I sent this pull request for discussion since these files are common for all platforms. The (safe) alternative is to add this code for iOS only.