問題タブ [worklight-skins]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ibm-mobilefirst - IBM Worklight - アプリケーションの起動後にスキンを頻繁に切り替える
私の観察によると、Worklight アプリケーションは、スキンが変更されてインストールまたは更新されたばかりの場合、skinLoader.js->getSkinName を 1 回呼び出します。それが正しいか?
Worklight アプリケーションの起動後にオンザフライでスキンを切り替える方法はありますか?
ibm-mobilefirst - スキンフォルダーの下に HTML を追加するときの Eclipse Null ポインター
Androidフォン用のシンプルなハイブリッドアプリがあります。Android タブレット用に作成されたスキン フォルダーがあります。android.tablet の下に HTML ファイルを作成しますが、この HTML ファイル名が common フォルダーの下の HTML ファイルと同じ名前である場合、Eclipse は次のようなポップアップ エラー メッセージを表示します。建てる。Java.Lang.NullPointerException
OS XI で Eclipse Kepler SR1 64 ビットを使用すると、Win7 の Eclipse Juno で同じエラーが発生します。
これは例外です:
プラグイン「org.eclipse.core.resources」からコードを呼び出すときに問題が発生しました。
org.eclipse.core.runtime.CoreException: com.worklight.studio.plugin.utils.PluginUtils.toCoreException(PluginUtils.java:138) での java.lang.NullPointerException com.worklight.studio.plugin.builders.PreviewResourceDeltaVisitor.visit で(PreviewResourceDeltaVisitor.java:112) で org.eclipse.core.internal.events.ResourceDelta.accept(ResourceDelta.java:69) で org.eclipse.core.internal.events.ResourceDelta.accept(ResourceDelta.java:80) でorg.eclipse.core.internal.events.ResourceDelta.accept(ResourceDelta.java:80) at org.eclipse.core.internal.events.ResourceDelta.accept(ResourceDelta.java:80) at org.eclipse.core.internal. com.worklight.studio.plugin.builders.WorklightProjectBuilder.incrementalBuild(WorklightProjectBuilder.java:73) の events.ResourceDelta.accept(ResourceDelta.java:49) com.worklight.studio.plugin.builders.org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:726) の WorklightProjectBuilder.build(WorklightProjectBuilder.java:61) org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42) の) org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:199) で org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:239) で org.eclipse.core. internal.events.BuildManager$1.run(BuildManager.java:292) at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42) at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager .java:295) org.eclipse.core.internal.events.BuildManager.basicBuildLoop(BuildManager.java:351) で org.eclipse.core.internal.events.BuildManager.build(BuildManager.java:374) で org. eclipse.core.internal.events.AutoBuildJob.org.eclipse.core.internal.events.AutoBuildJob.run(AutoBuildJob.java:241) の doBuild(AutoBuildJob.java:143) org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) の原因: com.worklight.studio.plugin.builders.PreviewResourceDeltaVisitor.visit(PreviewResourceDeltaVisitor.java:78) での java.lang.NullPointerException ... 19 詳細
ibm-mobilefirst - IBM Worklight - 「getSkinName が定義されていません」
新しい android.tablet スキンを定義しようとしています。KitKat を実行している Nexus 7 でテストしています。
これは私がしました:
- スキンを追加
- 更新された
getSkinName()
機能 - LogCat
getSkinName()
で呼び出されている関数を確認できます
ただし、紛らわしいメッセージがあります。
android.tablet という名前のスキンが見つからなかったため、「デフォルト」のスキンが使用されます。スキンを追加するか、android/js/skinLoader.js を変更して既存のスキンを返します。
何か不足していますか?
04-01 17:03:32.969: D/CordovaNetworkManager(4481): 接続の種類: wifi 04-01 17:03:32.969: D/CordovaActivity(4481): onMessage (ネットワーク接続、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 が定義されていません
ibm-mobilefirst - Worklight ランタイム スキン - getSkinName が正しく機能しない
リンク「 http://public.dhe.ibm.com/software/mobile-solutions/worklight/docs/v610/05_03_Supporting_multiple_form_factors_using_Worklight_skins.pdf 」を参照して、Android デバイス用の Worklight ランタイム スキンのサンプルを作成しています。携帯電話/タブレットにスキンを適用するために JS、CSS、および HTML を変更しました。これは Worklight Preview で正常に動作することがテストされています。
しかし、実際のデバイスで同じコードを実行しようとすると、期待どおりに適切な出力が得られません。その理由は、skinLoader.js の「getSkinName()」機能が有効な結果を返さないためです。デバイスがモバイルかタブレットかを検出するために次のコードを使用しようとしましたが、両方の関数が無効な出力を出しました。
UserAgent を使用してデバイスを検出します。 //常に「android.phone」スキンを返します。
デバイスの幅を使用してデバイスを検出します: //方向を超えて正しく動作しません
適切に機能するように getSkinName() を修正することについての考えを共有してください。