0

我有一个使用MobileFirst Platform version 8,Ionic version 1.3.1和AngularJS version 1.5.3的Cordova应用程序。当我运行它,并引导角JS,使应用程序连接到MobileFirst平台首先,我得到以下错误:MobileFirst v8和引导Angular JS v1.5.3错误

Error in Success callbackId: WLAuthorizationManagerPlugin561212842 : Error: [$injector:modulerr] Failed to instantiate module ng due to: 
TypeError: Cannot set property 'aHrefSanitizationWhitelist' of null 
    at $$SanitizeUriProvider (file:///android_asset/www/lib/ionic/js/ionic.bundle.js:30845:35) 
    at new <anonymous> (file:///android_asset/www/plugins/cordova-plugin-mfp/worklight/worklight.js:1079:23) 
    at Object.instantiate (file:///android_asset/www/lib/ionic/js/ionic.bundle.js:18010:14) 
    at provider (file:///android_asset/www/lib/ionic/js/ionic.bundle.js:17824:36) 
    at file:///android_asset/www/lib/ionic/js/ionic.bundle.js:13735:32 
    at forEach (file:///android_asset/www/lib/ionic/js/ionic.bundle.js:13705:20) 
    at Object.provider (file:///android_asset/www/lib/ionic/js/ionic.bundle.js:17814:9) 
    at ngModule (file:///android_asset/www/lib/ionic/js/ionic.bundle.js:15863:16) 
    at Object.invoke (file:///android_asset/www/lib/ionic/js/ionic.bundle.js:17995:19) 
    at runInvokeQueue (file:///android_asset/www/lib/ionic/js/ionic.bundle.js:17888:35) 
http://errors.angularjs.org/1.5.3/$injector/modulerr?p0=ng&p1=TypeError%3A%…2F%2Fandroid_asset%2Fwww%2Flib%2Fionic%2Fjs%2Fionic.bundle.js%3A17888%3A35) 

有人可以帮我解决这个问题?

我发现了一个similar question之前已经问过,但那是为MobileFirst Platform版本7而且似乎没有解决。

感谢您的帮助!

回答

2

新版本的cordova-plugin-mfp将在上述问题将解决的几天内发布。

同时,您可以使用以下解决方法来解决问题。

  1. 将以下代码替换为worklight.js,您可以在以下路径中找到适用于不同环境的代码。

的Android - 项目/插件/科尔多瓦 - 插件-MFP/src目录/安卓/资产/ WWW /工作灯/ worklight.js

的iOS - 项目/插件/科尔多瓦 - 插件-MFP/src目录/ IOS /www/worklight/worklight.js

视窗 - 项目/插件/科尔多瓦 - 插件-MFP/src目录/窗/ WWW /工作灯/ worklight.js

function bind(context) { 
if (arguments.length < 2 && WLJSX.Object.isUndefined(arguments[0])) { 
return this; 
} 
var __method = this, 
args = slice.call(arguments, 1); 
return function() { 
var a = merge(args, arguments); 
return __method.apply(context, a); 
}; 
} 

0被替换
function bind(obj) { 
var args = Array.prototype.slice.call(arguments, 1), 
self = this, 
Nop = function() { 
}, 
bound = function() { 
return self.apply(
this instanceof Nop ? this : (obj || {}), args.concat(
Array.prototype.slice.call(arguments) 
) 
); 
}; 
Nop.prototype = this.prototype || {}; 
bound.prototype = new Nop(); 
return bound; 
} 
  1. 删除平台并重新添加平台。
+0

你是什么意思“我们会更新MFP”?此外,这只是一个问题与Android或如果在iOS上我需要运行'科尔多瓦平台更新ios - 保存' – iqueqiorio

+0

也试过这个,当我改变功能,你说什么改变它,然后我运行'科尔多瓦平台更新android --save',但是当我用'cordova run'运行项目时,文件恢复为原始功能,并且出现同样的错误 – iqueqiorio

+0

尝试删除并重新添加平台。 –