IBM Worklight 5.0.x:未捕获的 TypeError:无法调用未定义的方法“init”
Posted
技术标签:
【中文标题】IBM Worklight 5.0.x:未捕获的 TypeError:无法调用未定义的方法“init”【英文标题】:IBM Worklight 5.0.x: Uncaught TypeError: Cannot call method 'init' of undefined 【发布时间】:2013-05-06 15:40:11 【问题描述】:我正在关注这个WebSphere Commerce guide for Worklight store fronts,使用 IBM Worklight 5.0.5 来使用混合应用程序。
应用程序成功启动,但是在应用程序中为店面设置连接详细信息并保存它们之后 - 店面(位于 WebSphere Commerce 服务器上的另一个 Worklight Hybrid 应用程序)未正确初始化。
我收到以下错误消息,而不是正确加载:
Uncaught TypeError: Cannot call method 'init' of undefined at 192.168.16.96/wcsstore/Aurora/mobile20/WorklightHybrid/android/js/initOptionsApp.js:64
html 文件代码:
<body id="content" class="bg_splash" style="display: none;">
<!-- application UI goes here -->
<div class="wrapper">
<div id="splashscreen" class="splash_logo_container splash_logo_position splash_logo"></div>
<div id="pagePort" class="hidden"></div>
</div>
<script src="js/version.js"></script>
<script src="js/messages.js"></script>
<script src="js/messages_en_US.js"></script>
<script src="js/messages_fr_FR.js"></script>
<script src="js/messages_de_DE.js"></script>
<script src="js/messages_it_IT.js"></script>
<script src="js/messages_es_ES.js"></script>
<script src="js/messages_pt_BR.js"></script>
<script src="js/messages_zh_CN.js"></script>
<script src="js/messages_zh_TW.js"></script>
<script src="js/messages_ko_KR.js"></script>
<script src="js/messages_ja_JP.js"></script>
<script src="js/messages_ko_KR.js"></script>
<script src="js/messages_ru_RU.js"></script>
<script src="js/messages_ro_RO.js"></script>
<script src="js/messages_pl_PL.js"></script>
<script src="js/WCLocalStorage.js"></script>
<script src="js/WCHybrid.js"></script>
<script src="js/initOptions.js"></script>
</body>
initOptions.js
//Worklight Client initialization parameter array
var wlInitOptions =
//Application should not attempt to connect to Worklight Server on application start up
connectOnStartup : false,
//Should application produce logs
enableLogger : true,
//Should direct updates prompt the user or occur silently
updateSilently: false
;
var initOptionsApp = (function()
return
/**
* Called when Cordova runtime has initialized
*/
onDeviceReady: function()
var METHODNAME = "initOptionsApp.onDeviceReady";
if (wlInitOptions.enableLogger)
WL.Logger.debug(METHODNAME, "ENTRY");
//bind the hardware back button event listener
document.addEventListener("backbutton", WCHybridApp.onBackKeyDown, false);
if (wlInitOptions.enableLogger)
WL.Logger.debug(METHODNAME, "EXIT");
;
)();
/**
* Bind the Worklight Client initialization call to the page load event
*/
if (window.addEventListener)
window.addEventListener('load', function() WL.Client.init(wlInitOptions); , false);
window.addEventListener('unload', function() WCHybridApp.updateHistory(); , false);
else if (window.attachEvent)
window.attachEvent('onload', function() WL.Client.init(wlInitOptions); );
/**
* Bind events to the Cordova deviceready event
*/
if (document.addEventListener)
document.addEventListener("deviceready", initOptionsApp.onDeviceReady, false);
编辑:升级到 Worklight 5.0.6.1 后修复了以下问题
当我在模拟器上加载我的应用程序时,它会提示意外的三个不同的对话框,如下图所示。
更多示例:
http://i.stack.imgur.com/k2ynK.png http://i.stack.imgur.com/QClnN.png【问题讨论】:
请确保您已将正确版本的Worklight 中的所有必需文件复制到WebSphere Commerce。这是我认为唯一会导致 t 【参考方案1】:获取这些与 Cordova 相关的对话框通常意味着您在应用程序中使用的 Cordova 版本有问题。
我强烈建议从 Eclipse Java EE 4.2.2 (Juno SR2) 开始,并安装 Worklight Developer Edition(来自 Eclipse Marketplace 的 v5.0.6.1)。这可能会解决它。
编辑:从编辑的问题中,它有。
initOptions 的严重问题目前类似于这个问题:Uncaught ReferenceError: wlInitOptions is not defined
【讨论】:
嗨 Idan,我没有在项目中包含任何外部库。 phoneGap lib 在添加环境后会提供 Worklight 包。甚至它也适用于简单的 Worklight 项目。我认为您说进行全新安装是对的。 我知道...如果您选择这样做,请按照我的建议。 嗨,Idan,该应用程序看起来在 android 上已成功加载,但在加载主页后出现问题。它向我展示了 Uncaught TypeError: Cannot call method 'init' of undefined at 192.168.16.96/wcsstore/Aurora/mobile20/WorklightHybrid/android/js/initOptionsApp.js:64 知道为什么 worklight 对象没有初始化 使用您的 HTML 和 initOptions.js 文件编辑您的问题。 这个问题开始听起来和这个类似,看看是否有帮助:***.com/questions/15549359/…以上是关于IBM Worklight 5.0.x:未捕获的 TypeError:无法调用未定义的方法“init”的主要内容,如果未能解决你的问题,请参考以下文章
IBM Worklight - 来自项目的缩略图图像未在 Worklight Console 中更新
IBM Worklight 6.0 - SRVE0777E:javax.servlet.ServletException:Worklight 项目未初始化
IBM Worklight:BusyIndicator 未显示
IBM Worklight 控制台预览公共资源链接错误:未找到