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值重写

salesforce lightning零基础学习 Aura Js 浅谈三: $AActionUtil篇

salesforce lightning零基础学习Lightning Data Service(LDS)