IBM Worklight - “getSkinName未定义” [英] IBM Worklight - "getSkinName is not defined"
问题描述
我正在尝试定义一个新的android.tablet皮肤。我正在使用运行KitKat的Nexus 7进行测试。
I am trying to define a new android.tablet skin. I am testing with a Nexus 7 running KitKat.
我这样做了:
- 添加了皮肤
- 更新
getSkinName()
功能 - 我可以在LogCat中看到函数
getSkinName()
被调用
- Added the Skin
- updated
getSkinName()
function - I can see in LogCat the function
getSkinName()
being called
但是,有一个令人困惑的消息:
However, there is a confusing message:
将使用默认皮肤,因为名为android.tablet的皮肤未找到
。添加皮肤或更改android / js / skinLoader.js以返回
现有皮肤。
"default" skin will be used, because skin named android.tablet was not found. Add a skin or change android/js/skinLoader.js to return existing skin.
我错过了什么?
04-01 17:03:32.969:D / CordovaNetworkManager(4481):连接类型:
wifi 04-01 17: 03:32.969:D / CordovaActivity(4481):
onMessage(networkconnection,wifi)04-01 17:03:32.969:
D / CordovaLog(4481):
file:/// android_asset / www / default / js / skinLoader.js:第18行:
screen.width 800 04-01 17:03:32.969:I / chromium(4481):
[INFO:CONSOLE(18) ]screen.width 800,来源:
file:///android_asset/www/default/js/skinLoader.js(18)
04-01 17:03:32.969:D / CordovaLog(4481):file:///android_asset/www/default/js/skinLoader.js:第23行:
返回的skinName是android.tablet 04-01 17:03:32.969:
I / chromium(4481):[INFO:CONSOLE(23)]返回的skinName是
android.tablet,来源:
file:/// android_asset / www / default / js / skinLoader.js(23)04-01
17:03:32.969: W / WLDroidGap(4481):将使用默认皮肤,
因为找不到名为android.tablet的皮肤。添加皮肤或更改
android / js / skinLoader.js以返回现有皮肤。 ...... ...... 04-01
17:03:34.779:D / CordovaLog (4481):
file:///android_asset/www/default/worklight/cordova.js:第1034行:
processMessage失败:错误:ReferenceError:getSkinName未定义
04-01 17:03:32.969: D/CordovaNetworkManager(4481): Connection Type: wifi 04-01 17:03:32.969: D/CordovaActivity(4481): onMessage(networkconnection,wifi) 04-01 17:03:32.969: D/CordovaLog(4481): file:///android_asset/www/default/js/skinLoader.js: Line 18 : screen.width 800 04-01 17:03:32.969: I/chromium(4481): [INFO:CONSOLE(18)] " screen.width 800", source: file:///android_asset/www/default/js/skinLoader.js (18) 04-01 17:03:32.969: D/CordovaLog(4481): file:///android_asset/www/default/js/skinLoader.js: Line 23 : returned skinName is android.tablet 04-01 17:03:32.969: I/chromium(4481): [INFO:CONSOLE(23)] " returned skinName is android.tablet", source: file:///android_asset/www/default/js/skinLoader.js (23) 04-01 17:03:32.969: W/WLDroidGap(4481): "default" skin will be used, because skin named android.tablet was not found. Add a skin or change android/js/skinLoader.js to return existing skin. ... ... ... 04-01 17:03:34.779: D/CordovaLog(4481): file:///android_asset/www/default/worklight/cordova.js: Line 1034 : processMessage failed: Error: ReferenceError: getSkinName is not defined
推荐答案
看起来你是对的,Worklight Skins无法加载 - 至少在第一次加载时应用程序;如果你第二次加载它,它确实有用。
Looks like you're right, Worklight Skins fail to load - at least on the first load of the application; if you load it a second time, it does work.
我已经为这个问题打开了一个缺陷。 >
如果您是IBM业务合作伙伴或客户,请打开PMR,以便在修复后您将能够以iFix版本的形式收到此消息。
I've opened a defect for this issue.
If you are an IBM business partner or customer, please open a PMR so that once fixed you'll be able to receive this in the form of an iFix release.
这就是我所做的:
- 创建一个新项目和应用程序
- 添加了Android环境
- 在Android环境中添加了应用程序外观android.skin
- 使用
body {background-color:red} $ c $向my-app\android.skin \ css添加了
main.css
c> - 将my-app\and\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ $ c>返回android.skin
- 运行方式>在Worklight Development Server上运行
- 运行方式> Android应用程序
- Created a new project and application
- Added the Android environment
- Added an application skin, android.skin, to the Android environment
- Added a
main.css
to my-app\android.skin\css withbody {background-color:red}
- Changed
getSkinName()
in my-app\android\js\skinLoader.js' toreturn "android.skin"
- Run As > Run on Worklight Development Server
- Run As > Android application
第一个加载确实加载默认皮肤而不是android.skin 。我第二次加载应用程序(从设备,而不是重新安装应用程序),它确实加载了android.skin......
The first load indeed loads the "default" skin instead of "android.skin". The second time I loaded the app (from the device, not by re-installing the app), it did load the "android.skin"...
所以无论如何,有一个缺陷。但你可以继续开发你的应用程序,虽然有点不方便...
So anyway, there's a defect. But you can continue developing your application albeit in a somewhat inconvenient way...
这篇关于IBM Worklight - “getSkinName未定义”的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!