I am having the exact same issue, and have been digging pretty deep to find and answer. The problem we are having seems to only be on particular iphones, and is to do with this code from cordova.js:
// Tries to load all plugins' js-modules.
// This is an async process, but onDeviceReady is blocked on onPluginsReady.
// onPluginsReady is fired when there are no plugins to load, or they are all done.
exports.load = function(callback) {
var pathPrefix = findCordovaPath();
if (pathPrefix === null) {
console.log('Could not find cordova.js script tag. Plugin loading may fail.');
pathPrefix = '';
}
injectIfNecessary('cordova/plugin_list', pathPrefix + 'cordova_plugins.js', function() {
var moduleList = require("cordova/plugin_list");
handlePluginsObject(pathPrefix, moduleList, callback);
}, callback);
};
Basically, for some unknown reason, cordova_plugins.js cannot be found. If the app is refreshed from a safari inspector though, it is found. It could be from a faulty plugin (not sure how), or something weird to do with the iphone file system and web views. I could be off the mark in both cases though. Would love to hear any other ideas.