SAP Spartacus CMSService 的调用栈以及 meta 标签的生成过程
SAP Spartacus 有多达 31 个 AppInitiators:
SeoModule 是其中之一。
initSeoService 方法里,执行 SeoMetaService 的 init 方法。
Init 方法里,读取 meta 数据:
Page 对象的明细:
解析到的 meta 数据:
第 30 行给 this.meta 赋值,就会触发第 33行的 set 操作:
在 set 操作里分别给每个字段比如 title 赋值,又会进一步触发 title 的 set 操作:
这里会调用 ngTitle 设置 title:
触发对应的 setter:
这里准备添加 description meta tag 了:
转移到框架实现:platform-browser.js
最后还是通过 dom 的原生方法,createElement 创建的 meta 标签:
最后在 Chrome 开发者工具的 Elements 里能看到 meta 标签了:
但是,view source 的显示里,并没有这个 meta 标签:
更多Jerry的原创文章,尽在:“汪子熙”:
SAP Spartacus CMSService 的调用栈以及 meta 标签的生成过程相关推荐
- 在 SAP Spartacus 里如何调用 hybris 里实现的自定义 API
需求:We have a custom API created in hybris and I need to use the data returned by that custom API in ...
- SAP Spartacus CmsService的CmsActions.LoadCmsComponent
在这个class的下列方法里加上console.log: const loading$ = combineLatest([this.routingService.getNextPageContext( ...
- SAP Spartacus CmsService.Components数据结构
源代码: export class CmsService {private components: {[uid: string]: {[pageContext: string]: Observable ...
- 关于 SAP Spartacus Loader Meta Reducer 的用途 - loading 在 true 和 false之前切换的逻辑
为了给用户更好的反馈,基于他们的行为,我们经常需要保留诸如"正在加载购物车"."获取用户地址失败"等信息. 对于每个单独的应用程序状态,我们必须将元数据放在旁边 ...
- SAP Spartacus index.html里的meta标签
meta标签用来描述页面的元数据. 我把index.htmll里的meta标签注释掉,仍然能够正常工作,这是为什么呢? 后台url维护在Environment.occBaseUrl字段里: 注入Con ...
- 使用SAT跟踪监控从浏览器打开的SAP应用的性能和调用栈
今天是农历鼠年大年初四,本文是鼠年第4篇文章,也是汪子熙公众号第203篇原创文章. 大家这几天在家里宅得如何了?貌似不少朋友都闷坏了. 我们继续学习. Jerry之前的文章 SAP错误消息调试之七种武 ...
- 如何打印出 SAP Spartacus 调用 OCC API 消费的所有 endpoint
本文写作的 SAP Spartacus 版本:3.3.0. 直接修改这个文件: node_modules@spartacus\core_ivy_ngcc_\fesm2015\spartacus-cor ...
- 如何找到 SAP Spartacus 里某个 Component TypeScript 编译后生成的 JavaScript 位置
需求 如何找到触发该网络请求的准确代码位置? 从 initiator 里查看调用栈上下文,一点头绪也没有. 找到触发该网络请求的控件的 selector:cx-register 在 Storefron ...
- SAP Spartacus 服务器端渲染单步调试步骤之二:在服务器端执行应用程序 Angular 代码
前文:SAP Spartacus 服务器端渲染单步调试步骤之一:应用程序准备工作 入口: 进入 platform-server.js: 入口: 最终在服务器端执行 bootstrap,输入 Compo ...
最新文章
- LL(1)预测分析表的构造
- vertical-align 和 img属性 和 鼠标样式
- 算法---计数质数(Java)
- php根据指定时间日历,php学习笔记(十三)时间处理与日历的实现
- 网站https加载不出css样式_Python Web全栈之旅04--Web前端●走入CSS的世界
- 4.与JSP的第一次握手
- 并发和并行的区别简单介绍
- 程序员如何保持身心健康,做到这几点,远离秃头。
- 一张图教你如何选择机器学习算法
- vrrp路由协议实验
- python时间库date和datetime
- sync是同步还是非同步_高速AD项目学习笔记——实现sync同步的经验
- 自制操作系统软盘镜像的创建过程
- chartControl
- Matlab的最优化实现方法之线性规划:linprog
- Android 设备管理器 理解和使用
- python代码封装加密_Python代码加密混淆
- 基于vue+spring的博客系统
- 成都榆熙:拼多多商家如何批量设置产品属性值?
- 多国拟发ChatGPT禁令 关“野兽”的笼子要来了?
热门文章
- 理解工作流系统参考模型
- 课后作业之字符串加密
- iOS10 NSURLErrorDomain Code 1200
- 167. Two Sum II - Input array is sorted
- android邮件发送几种方式
- matlab产生正态分布样本
- zookeeper配置
- Coolite Toolkit学习笔记系列文章
- 一个实例告诉你Python中关于 if __name__ == ‘__main__‘ 有何作用
- 方立勋_30天掌握JavaWeb_request