IBM Worklight - “getSkinName未定义” [英] IBM Worklight - "getSkinName is not defined"

查看:151
本文介绍了IBM Worklight - “getSkinName未定义”的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试定义一个新的android.tablet皮肤。我正在使用运行KitKat的Nexus 7进行测试。

I am trying to define a new android.tablet skin. I am testing with a Nexus 7 running KitKat.

我这样做了:


  1. 添加了皮肤

  2. 更新 getSkinName()功能

  3. 我可以在LogCat中看到函数 getSkinName()被调用

  1. Added the Skin
  2. updated getSkinName() function
  3. 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.

这就是我所做的:


  1. 创建一个新项目和应用程序

  2. 添加了Android环境

  3. 在Android环境中添加了应用程序外观android.skin

  4. 使用 body {background-color:red} main.css c>

  5. 将my-app\and\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ $ c>返回android.skin

  6. 运行方式>在Worklight Development Server上运行

  7. 运行方式> Android应用程序

  1. Created a new project and application
  2. Added the Android environment
  3. Added an application skin, android.skin, to the Android environment
  4. Added a main.css to my-app\android.skin\css with body {background-color:red}
  5. Changed getSkinName() in my-app\android\js\skinLoader.js' to return "android.skin"
  6. Run As > Run on Worklight Development Server
  7. 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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆