带有工作灯的动态 HTML?
Posted
技术标签:
【中文标题】带有工作灯的动态 HTML?【英文标题】:dynamic HTML with worklight? 【发布时间】:2014-11-07 01:06:53 【问题描述】:有什么方法可以在属于您的 Worklight 应用程序的 html(或其他)资源中执行“最后一分钟”替换?
例如,我想根据最终用户的区域设置在<html>
元素上设置lang
和dir
属性。
一些背景:
我意识到我可以进行动态 DOM 操作,但我的问题更多来自客户端-服务器架构的背景,您有机会在服务器端替换基于 HTML(或其他资源)中的一些变量等根据请求者的上下文。我们已经有一个现有的应用程序,我正在研究如何将它与 Worklight 集成,包括(出于性能原因)将文件从服务器端移动到客户端,而不会对当前代码进行太多重构。
【问题讨论】:
【参考方案1】:更新:根据您对问题的修改,我认为以下内容不会对您的应用产生任何重大影响。既然您说您可以将文件从服务器移动到客户端,这意味着像网络流量一样,对于今天的设备,我怀疑这甚至可能会提高性能而不是惩罚。
如果您打算执行上述操作,我的建议是尝试以下操作。
我什至不确定您还能如何从服务器执行此操作 - 根据用户的本地设备从服务器更改 应用程序的 UI。远程这样做对我来说没有多大意义。
为了回答您的问题,我将提供一些我认为与在这种情况下(如我所见)良好的用户体验相关的背景信息:
默认情况下,一旦框架完成加载,Worklight 就会关闭启动屏幕。
但是,如果您使用的是 Worklight 6.2,那么您可以使用扩展的初始屏幕功能来在更长的时间内显示初始屏幕,并且在此期间您可以执行所需的任务 - 例如根据用户的语言环境。完成后,您可以自行以编程方式关闭初始屏幕。
阅读材料:
Common UI Controls 培训模块(幻灯片#29) Managing the splash screen 用户文档主题(用于 JS 和 Native 支持)例子:
需要在 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();
【讨论】:
顺便说一句,根据 IBM 的社交准则,您可能应该只提及名称,而不是“rl intern-at-ibm”。;) 感谢伊达尔。将记住启动画面。当 *** 允许时,我会在一个月内更改我的显示名称。 这个名字是伊丹。我已根据您对问题的编辑编辑了问题。 抱歉,伊丹。当我说“移动”时,我的意思是将我的资源(html、js、css)作为与本机应用程序捆绑在一起的资产包含在内,而不是让网络服务器获取和提供它们。这肯定是本机应用程序的理想特性吗?总的来说,我的问题源于范式转变。我试图让我的头脑围绕您与本机应用程序捆绑的资产(html、css、js)本质上是静态的。也就是说,在它们显示在嵌入式浏览器中之前,您没有机会以编程方式对其进行操作。 但是你可以,使用 javascript 魔法。您在其中包含所有相关代码,并根据场景调用相关代码块...【参考方案2】:任何基本的 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>
【讨论】:
没错,但在应用程序的上下文中,您需要创建良好的用户体验。为此,请参阅我自己对该问题的回答。 谢谢,如果我必须,我会使用 DOM 操作。我为上面的问题添加了一些背景/上下文。以上是关于带有工作灯的动态 HTML?的主要内容,如果未能解决你的问题,请参考以下文章
带有自动布局的 uiscrollview 的动态内容未按预期工作
Excel VBA 从关闭的工作簿中读取数据,带有 ADODB、动态范围和标题可选
带有 Foundation 和 React 的动态 HTML