问题标签 [worklight-runtime]

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.

0 投票
2 回答
163 浏览

android - IBM Worklight 6.0 - 直接更新导致忙碌指示器卡住

我有一个带有 Android 环境的简单 Worklight V6 应用程序(除了connectOnStartup设置为之外没有自定义)。true

我在我的 Android 模拟器上启动应用程序,对 HTML 进行微小的更改并重新部署,然后在模拟器上重新启动应用程序。

它注意到应用程序有更新,我单击更新,更新发生,我可以在屏幕上看到应用程序现在正在使用最新的 HTML 运行。

问题是应用程序前面有一个永远不会消失的忙碌指示器。我必须杀死该应用程序并重新启动它才能访问该应用程序。

这似乎一直在 Android 4.3 上发生,在 4.1.2 上间歇性发生。

我可以在我的应用程序初始化中放入任何代码来终止繁忙指示器吗?

0 投票
1 回答
654 浏览

ibm-mobilefirst - IBM Worklight - 开发移动 Web 应用程序有什么优势?

通过 IBM Worklight 产品文档,该产品看起来非常适合构建混合或原生应用程序。但是,对于构建移动网络(使用响应式网页设计),可以从 Worklight 中获得哪些具体优势?

0 投票
1 回答
307 浏览

ibm-mobilefirst - IBM Worklight 6.0 - 默认 WL.StaticAppProps 值

默认情况下,在最新的 IBM Worklight 6.0 驱动程序中,似乎 StaticAppProps 对象设置为:

还有另一个名为“APP_ID”的属性,我想知道一些事情:

为什么不将默认属性添加到对象中?(在以前的版本中,我认为这是默认设置)

由于默认情况下为显示名称设置了 ID,因此该名称是否直接在应用程序内的某个地方直接使用?

我应该期望有人将 APP_DISPLAY_NAME 设置为“我的银行应用程序”之类的东西,还是应该始终将 APP_DISPLAY_NAME 作为应用程序 ID?

一般来说,保持 StaticAppProps 对象与 application-descriptor.xml 中使用的值同步的最佳做法是什么?

0 投票
2 回答
236 浏览

android - IBM Worklight 5.0.5.1 - Android 中的直接更新失败

在我们包含 iOS 和 Android 环境的项目中,
当直接更新发生时,我们的 Android 应用程序突然出现故障。iOS 仍然可以正常工作。

有没有办法查看直接更新功能尝试使用哪个地址来更新自身?
现在我们得到的是:

E/WLDroidGap(23185):下载应用程序更新文件失败。

更新:: 环境是 https --> 防火墙 --> netscaler --> worklight 服务器

我确实让网络人员在 netscaler 中创建了一个 http 端点,这很有效。所以 https 的某些东西给直接更新带来了问题。

我们注意到初始化调用返回一个响应。

但是直接更新的调用失败了::

很难诊断,因为 IBM 似乎捕获了 IOException 并给出了一条固定消息

0 投票
1 回答
2524 浏览

ibm-mobilefirst - IBM Worklight 5.0.6 - /init 与 WL.Client.connect() 调用

我有一个简单的测试应用程序,我正在决定如何通过WL.Client.connect().

在应用程序启动期间,不会发生身份验证过程。只需使用 initOptions.js ( connectOnStartup:false) 进行标准初始化,然后使用适当的成功/失败处理程序wlCommonInit()调用服务器 ( ) 进行调用。WL.Client.connect()

当我使用移动浏览器模拟器(例如:Android 环境)测试应用程序时,我从浏览器控制台获得了以下堆栈跟踪:

结果是 wlClientInit 被调用了 3 次,直到调用/apps/services/api/UnisTestAdapters/android/init得到服务器的响应。

在此期间,调用WL.Client.connect()失败两次,因为Cannot invoke WL.Client.connect while it is already executing. 然后在得到 /init 调用的响应后,我也得到了wlclient connect success.

鉴于这种情况,我有一些问题:

  1. /init 调用是WL.Client.connect()幕后调用吗?两个服务器调用是否在响应中携带相同的信息?换句话说,/init 调用是否充当 WL.Client.connect() 以确保所有需要 connect() 调用的功能同样可用?

  2. 我是否由调用 wlClientInit() 直到 /init 调用被终止允许成功调用的“重试机制”来保证WL.Client.connect()?有什么方法可以防止 WL.Client.connect() 调用在成功之前失败两次?

  3. 正如我在控制台中看到的那样,您能否确认设置了默认心跳以防止会话超时?默认的心跳间隔是多少?


@Daniel Gonzales:这是wlCommonInit()代码和相关处理程序:

0 投票
2 回答
287 浏览

ibm-mobilefirst - IBM Worklight - 如何断开客户端连接?

我可以找到WL.Client.connect连接客户端 - 到目前为止一切顺利。然而,我怎么能做相反的事情呢?(我有充分的理由这样做,请放心。)

0 投票
1 回答
270 浏览

android - IBM Worklight - 在 Android 的 OptionsMenu 中更改默认“Worklight 设置”字符串后无法直接更新

在messages.js(位于myProject/apps/myApp/common)中添加以下对象后:

尽管它在 Android 的 OptionsMenu 中成功地从“Worklight Settings”更改为“myApp settings”,但当我查看 Logcat 时,它显示以下错误:

未捕获的 ReferenceError:WL 未在 file:///data/data/com.test/files/www/default/js/messages.js:10 中定义

此外,如果我通过更改 Web 资源触发直接更新,则会失败并出现以下错误:

标签:测试(我的应用程序的名称)

[http://192.168.1.5:10080/test/apps/services/api/test/android/composite] 异常。TypeError:无法调用未定义的方法“替换”

标签:CordovaLog

未捕获的类型错误:无法调用未定义的方法“替换”

标签: Web 控制台

未捕获的类型错误:无法在 file:///data/data/com.test/files/www/default/wlclient/js/worklight.js:1763 调用未定义的方法“替换”

0 投票
1 回答
206 浏览

ibm-mobilefirst - IBM Worklight 6.0 - WL.TabBar.addItem 标题参数无法正确使用“null”作为值

根据WL.TabBar.addItem关于title参数的文档:

但是,如果我像这样传递值null

我收到此错误:

方法 WL.TabBar.addItem 的调用无效;无效值“null”(对象),预期类型“字符串”。

如果我传递一个空字符串" ",我看不到标题,但在图标下方的底部有空间距。

0 投票
1 回答
131 浏览

ibm-mobilefirst - IBM Worklight - 如何在不丢失应用程序上下文的情况下显示 URL 引用的内容?

在编写 Worklight 应用程序时,禁止更改运行应用程序的 DOM 的 URL。这是有道理的,因为超文本移动到另一个 URL 将消除应用程序的状态。

然而,有时,在我的应用程序中,我会收到一个新闻文章的 URL,并且用户希望阅读它。在 iFrame 中显示新内容将开始满足需求,但随后我需要导航控件等,并且开始感觉我在重新发明轮子。

Worklight 或其中一个移动 JS 框架是否提供了我在这里需要的“浏览器中的浏览器”体验?

0 投票
1 回答
566 浏览

ibm-mobilefirst - IBM Worklight - 如何在混合应用程序中隐藏 HTML 页面并改为加载本机页面?

我正在开发一个混合应用程序,我的第一页是androidios. 我将初始 html 页面保留为空白的白色背景,并使用WL.nativePage.showAPI 方法加载本机页面。

我可以转到本机页面,但在启动画面之后,它显示一个白屏,这是我的 HTML 页面一段时间,然后显示本机页面。所以我想避免那个白屏。怎么做?

我显示本机的代码是: