Ibm mobilefirst 带worklight的动态HTML?
有没有办法在HTML或worklight应用程序中的其他资源中执行最后一分钟的替换 例如,我想根据最终用户的语言环境设置元素的lang和dir属性 一些背景:Ibm mobilefirst 带worklight的动态HTML?,ibm-mobilefirst,Ibm Mobilefirst,有没有办法在HTML或worklight应用程序中的其他资源中执行最后一分钟的替换 例如,我想根据最终用户的语言环境设置元素的lang和dir属性 一些背景: 我意识到我可以进行动态DOM操作,但我的问题更多地来自客户机-服务器体系结构的背景,您可以在服务器端根据请求者的上下文替换HTML或其他资源中的一些变量等。我们已经有了一个现有的应用程序,我正在研究如何将其与worklight集成,包括出于性能原因,将文件从服务器端移动到客户端,而不会对当前代码进行太多重构。任何基本的DOM操作都会有所帮
我意识到我可以进行动态DOM操作,但我的问题更多地来自客户机-服务器体系结构的背景,您可以在服务器端根据请求者的上下文替换HTML或其他资源中的一些变量等。我们已经有了一个现有的应用程序,我正在研究如何将其与worklight集成,包括出于性能原因,将文件从服务器端移动到客户端,而不会对当前代码进行太多重构。任何基本的DOM操作都会有所帮助。下面是一个使用D3.js的示例
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>D3 Test</title>
<script type="text/javascript" src="d3.js"></script>
</head>
<body>
<script type="text/javascript">
d3.select("html").attr("lang","en_EN");
</script>
</body>
</html>
更新:根据对您问题的编辑,我认为以下内容不会对您的应用程序产生任何重大影响。因为你说你可以将文件从服务器移动到客户端,这就意味着像网络流量一样,对于今天的设备,我怀疑这甚至可能是性能的提升,而不是惩罚
我的建议是,如果以上是你计划做的,那么试试下面的方法
我甚至不知道你还能从服务器上做什么——从服务器上根据用户的本地设备更改应用程序的UI。对我来说远程这么做没有多大意义
为了回答您的问题,我将提供一些背景信息,我认为这些信息与我所看到的这种场景中良好的用户体验相关:
默认情况下,一旦框架完成加载,Worklight将关闭初始屏幕
但是,如果您使用的是Worklight 6.2,那么您可以使用扩展的启动屏幕功能来显示较长时间的启动屏幕,在这段时间内,您可以执行所需的任务,例如根据用户的区域设置更改UI。完成后,您可以通过编程自行关闭启动屏幕
阅读材料:
培训模块幻灯片29
JS和本机支持的用户文档主题
例如:
您需要在common\js\initOptions.js中取消注释以下内容:
// # To disable automatic hiding of the splash screen uncomment this property and use WL.App.hideSplashScreen() API
//autoHideSplash: false,
然后,您可以在准备就绪时关闭启动屏幕:
function wlCommonInit() {
function changeUiBasedOnLocale();
...
...
}
function changeUiBasedOnLocale() {
... // get device local
... // use JS to alter CSS
WL.App.hideSplashScreen();
}
没错,但在应用程序的上下文中,您需要创建良好的用户体验。关于这个问题,请看我自己的答案。谢谢,如果有必要,我将使用DOM操作。我为我的上述问题添加了一些背景/背景。顺便说一句,根据ibm的社交指南,您可能应该只提及这个名字,而不是ibm的rl实习生;谢谢你,艾达。将记住启动屏幕。将在stackoverflow允许的一个月内更改我的显示名称。名称为Idan。我根据你对问题的编辑编辑了这些问题。抱歉,伊丹。当我说move时,我的意思是我将把我的资源html、js、css作为捆绑在本机应用程序中的资产,而不是让网络服务器获取和提供它们。这肯定是本地应用程序所需要的特性吗?总的来说,我的问题源于范式的转变。我试图让我的头脑明白,与本机应用捆绑在一起的html、css和js资产本质上是静态的。也就是说,在它们显示在嵌入式浏览器中之前,您没有机会对它们进行编程操作。您可以在其中包含所有相关的代码,并根据场景调用相关的代码块。。。