首页 > 其他分享 >SAP UI5 应用的标准 Theme 和自定义 Theme 的加载讨论

SAP UI5 应用的标准 Theme 和自定义 Theme 的加载讨论

时间:2023-01-30 11:37:42浏览次数:48  
标签:自定义 URL 主题 theme Theme UI5 ui sap

SAP UI5 应用的初始主题可以硬编码在应用程序中(在加载 SAPUI5 的引导程序的脚本标签中)或在加载 SAPUI5 之前定义的 JS 配置对象中,例如下面的例子:

<script id="sap-ui-bootstrap" 
	type="text/javascript"
	src="resources/sap-ui-core.js"
	data-sap-ui-theme="sap_belize">
</script>

这种硬编码的设置具有最低的优先级。

我们可以使用 url parameter,html?sap-ui-theme=sap_belize,来覆盖这个硬编码配置。

如果使用 UI 主题设计器来定义您自己的自定义主题,可以将自定义主题的位置作为服务器相对路径附加到 sap-ui-theme 参数,由 @ 符号分隔:http://myserver.com/sap/myapp/?sap-ui-theme=my-theme@/sap/public/bc/themes/~client-111

尽管可以指定完整的 URL,但该框架将仅使用 URL 的路径信息来防止基于 CSS 的攻击,否则可能会通过从恶意服务器引用 CSS 进行攻击。 在更复杂的情况下,例如,如果 UI 主题设计器的基础结构在单独的服务器上运行,则可以使用 Web dispatcher 将两个服务器组合在一个命名空间中,或者使用方法 sap.ui.getCore.applyTheme , 为自定义应用设置完整的 URL。

UI theme designer 的基础结构将多种技术的主题存储在同一位置,每个技术都在其自己的子目录中(UI5/ SAPUI5)。

其他 SAP 产品(如 SAP Enterprise Portal)仅将公共根 URL 附加到 sap-theme 参数。 因此,SAPUI5 将文件夹 UI5/ 附加到 sap-theme 参数中定义的任何给定路径。

可以使用方法 sap.ui.getCore.applyTheme 即时切换主题。

应用程序状态不会丢失,并且没有服务器 network 往返(加载 CSS 文件除外,如果未缓存到浏览器中)。

要加载外部自定义主题,可以通过在页面中静态声明或使用 Core.setThemeRoot() 方法来设置此主题。 这非常类似于对位于不同位置的库使用 registerModulePath()。

通过 sap-ui-theme/sap-theme URL 参数配置带有 themeRoot URL 的主题时,存在一些安全方面的限制。 默认情况下,与当前页面不同来源的绝对 URL 被 stripped off.

Path segment 将相对于当前页面的 origin 进行解析。

标签:自定义,URL,主题,theme,Theme,UI5,ui,sap
From: https://www.cnblogs.com/sap-jerry/p/17074950.html

相关文章

  • Abp报错:AbpException: No theme registered! Use AbpThemingOptions to register them
    因为要做一个极简的点网站,所以创建了一个“单层应用”的解决方案,然后移除了完全用不上的模块。最后运行,发现直接报错AbpException:Nothemeregistered!UseAbpThemingO......
  • redhat6 装机自定义LVM分区教程
     分区效果如下 ......
  • Android开发 自定义View_时钟
    前言自定义View实现时钟涉及到三角函数,如果你对三角函数不甚了解或者已经遗忘,请参考我的博客:圆与三角函数的公式与使用  这篇博客详细解释了三角函数公式与对应坐......
  • Table类:后台自定义条件筛选查询
    1、首先需要在控制器中定义开启变量,例如控制器:dayrui/App/Demo/Controllers/Admin/Home.php//数据表初始化protectedfunction_init($data){$this->......
  • vue中多行(单行)文本溢出才会出现提示的自定义指令
     //以下代码可以直接粘贴进自己的`.vue`文件中查看效果<template><divclass="parent"><h3>标题</h3><divclass="child"v-ellipsis="3">{{msg......
  • hexo-theme-tree
    Hexo主题Tree一个简洁的主题,主要功能是“树状导航”+“树状目录”,可选配“评论”和“阅读量”功能,支持基于搜索引擎的全站搜索。通过fancybox支持图片点击放大。......
  • django 自定义模板标签
    故事的背景比较复杂,框架用的django,后台用的simpleui,当我在往前端嵌入echarts的时候发现自定义标签返回的list里面的单引号进行了自动转义,变成了&#39; 具体可以参考:ht......
  • 【MATLAB】matlab自定义函数的调用
    1.自定义函数的编写与调用关于自定义函数的编写与调用,将由以下3个问题展开:1.1问题:为什么要使用自定义函数?在编写程序时,我们常常会重复使用到一部分相同的代码(程序块),为了避......
  • ExtJS-自定义事件(观察者模式)实现
    更新记录2023年1月6日从笔记迁移到博客。转载请注明出处:ExtJS教程汇总:https://www.cnblogs.com/cqpanda/p/16328016.html使用Ext.util.Observable类型即可。代码......
  • 第六节 使用ISM Web组态软件的自定义数据
    文章目录​​前言​​​​一、ISM的自定义数据支持哪些运算​​​​二、使用说明​​​​1.取位运算​​​​2.复杂数据运算​​​​3.查看自定义数据结果​​​​总结​......