Lightning Web Component 安全性相关知识
Posted 程程哥的 Salesforce 笔记
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Lightning Web Component 安全性相关知识相关的知识,希望对你有一定的参考价值。
javascript 的严格模式
Lightning Web Component 是遵循了 JavaScript 的严格模式,所以在开发时有一些强制规定,比如所有变量必须用 var、let、const 等关键字声明等。
关于严格模式的详细信息,可以参考官方文档。
DOM 访问限制
在访问 DOM 时,不能使用 window 或 document 这些全局变量,而要使用 this.template 变量。比如使用 this.template.querySelector() 代替 document.querySelector()。
Locker Service 提供了一组安全性更高的封装类:
- SecureWindow:封装了 window 全局变量
- SecureDocument:封装了 document 全局变量
- SecureObject:代表了被 Locker Service 封装的对象,其细节是无法访问的
- SecureLightningElement:封装了 LightningElement 类,也就是所有 Lightning Web Component 继承的类。我们无法直接继承 SecureLightningElement 类,但是在运行时它会取代 LightningElement
- SecureTemplate:封装了 template 对象
其他限制
第三方的类库无法直接使用,必须上传为静态资源(static resource)。
外部的图片、字体、文件的链接必须使用 https 而非 http。
以下全局变量无法使用:
- $A
- Aura
- Sfdc
- sforce
以上是关于Lightning Web Component 安全性相关知识的主要内容,如果未能解决你的问题,请参考以下文章
salesforce lightning零基础学习 Aura Js 浅谈一: Component篇
Lightning Component 嵌入到 VF Page
salesforce lightning零基础学习 事件(component events)简单介绍
Salesforce LWC学习(十九) 针对 lightning-input-field的label值重写