{"id":3892,"date":"2024-01-20T20:54:41","date_gmt":"2024-01-20T12:54:41","guid":{"rendered":"http:\/\/www.ponybai.com\/?p=3892"},"modified":"2023-12-02T21:04:47","modified_gmt":"2023-12-02T13:04:47","slug":"lightning-web-%e5%ae%89%e5%85%a8","status":"publish","type":"post","link":"http:\/\/www.ponybai.com\/?p=3892","title":{"rendered":"Lightning Web \u5b89\u5168"},"content":{"rendered":"\n<p>Lightning Web Security \u65e8\u5728\u8ba9\u60a8\u7684\u7ec4\u4ef6\u66f4\u8f7b\u677e\u5730\u4f7f\u7528\u5b89\u5168\u7f16\u7801\u5b9e\u8df5\u3002Lightning Locker \u4e00\u76f4\u662f\u6240\u6709 Lightning \u7ec4\u4ef6\u7684\u9ed8\u8ba4\u5b89\u5168\u67b6\u6784\u3002Lightning Web Security \uff08LWS\uff09 \u6b63\u5728\u53d6\u4ee3 Lightning Locker for Lightning \u7ec4\u4ef6\u3002\u9002\u7528\u4e8e Lightning Web \u7ec4\u4ef6\u548c Aura \u7ec4\u4ef6\u7684 LWS \u5df2\u6b63\u5f0f\u53d1\u5e03\u3002<\/p>\n\n\n\n<p>Lightning Web Security \u4ee5\u6700\u65b0\u7684&nbsp;TC39 \u6807\u51c6\u4e3a\u84dd\u672c\uff0c\u53ef\u4e3a\u4efb\u4f55 UI \u7ec4\u4ef6\u63d0\u4f9b\u521b\u65b0\u7684\u53ef\u7528\u5b89\u5168\u6027\u3002\u8fd9\u79cd\u65b9\u6cd5\u4f7f\u56e2\u961f\u80fd\u591f\u5b89\u5168\u5730\u4f7f\u7528\u6765\u81ea\u7b2c\u4e09\u65b9\u7684\u4ee3\u7801\uff0c\u800c\u4e0d\u5fc5\u62c5\u5fc3\u8de8\u7ad9\u70b9\u811a\u672c \uff08XSS\uff09 \u653b\u51fb\u7b49\u5a01\u80c1\u3002\u5176\u7ed3\u679c\u662f\uff0c\u5728UI\u5c42\u4e2d\u63a7\u5236\u4ee3\u7801\u6267\u884c\u7684\u66f4\u5b89\u5168\u65b9\u6cd5\uff0c\u800c\u4e0d\u4f1a\u8feb\u4f7f\u5f00\u53d1\u4eba\u5458\u8df3\u8fc7\u969c\u788d\u6216\u653e\u5f03\u6240\u9700\u7684\u529f\u80fd\u3002<\/p>\n\n\n\n<p>\u597d\u6d88\u606f\u662f\uff0c\u6b64\u6280\u672f\u4e0d\u9700\u8981\u91cd\u6784\u60a8\u7684 LWC \u4ee3\u7801\uff0c\u56e0\u4e3a\u60a8\u7684\u4ee3\u7801\u5df2\u7ecf\u9075\u5b88 Lightning Locker \u8981\u6c42\u7684\u5b89\u5168\u5b9e\u8df5\u3002\u5927\u591a\u6570\u73b0\u6709\u7684 Lightning Web \u7ec4\u4ef6\u90fd\u53ef\u4ee5\u5728\u8fd9\u79cd\u65b0\u67b6\u6784\u4e2d\u5de5\u4f5c\u3002<\/p>\n\n\n\n<p>\u66f4\u597d\u7684\u6d88\u606f\u662f\uff0c\u60a8\u53ef\u4ee5\u9009\u62e9\u91cd\u6784\u4ee3\u7801\uff0c\u8ba9\u60a8\u7684\u7ec4\u4ef6\u5229\u7528\u8fd9\u9879\u6280\u672f\u5e26\u6765\u7684\u65b0\u81ea\u7531\u3002\u60a8\u7684\u7ec4\u4ef6\u5728\u4e13\u7528\u4e8e\u547d\u540d\u7a7a\u95f4\u7684\u9694\u79bb JavaScript \u73af\u5883\u4e2d\u8fd0\u884c\uff0c\u4f46\u5b83\u4eec\u53ef\u4ee5\u4ece\u5176\u4ed6\u547d\u540d\u7a7a\u95f4\u5bfc\u5165\u7ec4\u4ef6\u548c\u6a21\u5757\uff0c\u5c31\u597d\u50cf\u5b83\u4eec\u90fd\u5728\u540c\u4e00\u73af\u5883\u4e2d\u8fd0\u884c\u4e00\u6837\u3002\u547d\u540d\u7a7a\u95f4\u9694\u79bb\u5bf9\u7ec4\u4ef6\u662f\u900f\u660e\u7684\uff0c\u56e0\u4e3a\u4f53\u7cfb\u7ed3\u6784\u4f1a\u65e0\u7f1d\u5730\u4e3a\u4f60\u5904\u7406\u5b83\u3002\u56e0\u6b64\uff0c\u7ec4\u4ef6\u5728 Lightning Locker \u4e2d\u8fd0\u884c\u65f6\u89c2\u5bdf\u5230\u7684\u4e00\u4e9b\u9650\u5236\u5728 Lightning Web Security \u4e2d\u4e0d\u662f\u5fc5\u9700\u7684\u3002<\/p>\n\n\n\n<p>\u6211\u4eec\u5c06\u8fd9\u4e9b\u9694\u79bb\u73af\u5883\u79f0\u4e3a&nbsp;<em>JavaScript \u6c99\u7bb1<\/em>\u3002\u6bcf\u4e2a\u547d\u540d\u7a7a\u95f4\u90fd\u6709\u4e00\u4e2a\u4e13\u7528\u7684 JavaScript \u6c99\u76d2\u3002\u8be5\u4f53\u7cfb\u7ed3\u6784\u7ba1\u7406\u5728\u4e0d\u540c JavaScript \u6c99\u7bb1\u4e2d\u8fd0\u884c\u7684\u7ec4\u4ef6\u7684\u865a\u62df\u4ea4\u4e92\u3002<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"how-lightning-web-security-works\">Lightning Web Security \u7684\u5de5\u4f5c\u539f\u7406<\/h2>\n\n\n\n<p>\u4e0e Lightning Locker \u4e00\u6837\uff0cLightning Web Security \u7684\u76ee\u6807\u662f\u9632\u6b62 Lightning \u7ec4\u4ef6\u5e72\u6270\u6216\u8bbf\u95ee\u5c5e\u4e8e\u5e73\u53f0\u4ee3\u7801\u6216\u6765\u81ea\u5176\u4ed6\u547d\u540d\u7a7a\u95f4\u7684\u7ec4\u4ef6\u7684\u6570\u636e\u3002Lightning Web Security \u7684\u4f53\u7cfb\u7ed3\u6784\u4f7f\u7528\u4e0d\u540c\u7684\u65b9\u6cd5\u4fdd\u62a4 Lightning Web \u7ec4\u4ef6\u3002<\/p>\n\n\n\n<p>Salesforce \u9875\u9762\u53ef\u4ee5\u5305\u542b\u7531\u591a\u4e2a\u516c\u53f8\u521b\u5efa\u7684\u7ec4\u4ef6\u3002\u7531\u7ec4\u7ec7\u7684\u5f00\u53d1\u4eba\u5458\u56e2\u961f\u521b\u5efa\u7684\u7ec4\u4ef6\u4e0e Salesforce \u521b\u5efa\u7684\u7ec4\u4ef6\u5171\u5b58\u3002\u5982\u679c\u60a8\u521b\u5efa\u5e94\u7528\u7a0b\u5e8f\u5e76\u5c06\u5176\u90e8\u7f72\u5728 AppExchange \u4e0a\uff0c\u5219\u60a8\u7684\u7ec4\u4ef6\u5c06\u4e0e Salesforce \u521b\u5efa\u7684\u7ec4\u4ef6\u4ee5\u53ca\u5b89\u88c5\u5e94\u7528\u7a0b\u5e8f\u7684\u5ba2\u6237\u7684\u7ec4\u4ef6\u5171\u5b58\u3002<\/p>\n\n\n\n<p>\u5982\u679c\u4e0d\u91c7\u53d6\u9884\u9632\u63aa\u65bd\uff0c\u7ec4\u4ef6\u53ef\u4ee5\u8bbf\u95ee\u5168\u5c40\u5bf9\u8c61\uff0c\u5e76\u4ece\u9875\u9762\u4e0a\u7684\u5176\u4ed6\u7ec4\u4ef6\u83b7\u53d6\u4e13\u7528\u8d44\u6e90\u6216\u6570\u636e\u3002\u4e00\u79cd\u9884\u9632\u63aa\u65bd\u662f\u6309\u547d\u540d\u7a7a\u95f4\u9694\u79bb\u7ec4\u4ef6\uff0c\u4ee5\u4fbf\u6076\u610f\u7ec4\u4ef6\u65e0\u6cd5\u8bbf\u95ee\u5176\u547d\u540d\u7a7a\u95f4\u4e4b\u5916\u7684\u7ec4\u4ef6\u8d44\u6e90\u3002<code>window<\/code><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u901a\u8fc7\u865a\u62df\u5316\u5b9e\u73b0\u9694\u79bb<\/h2>\n\n\n\n<p>\u5b9e\u73b0\u9694\u79bb\u7684\u884c\u4e1a\u6807\u51c6\u662f\u865a\u62df\u5316\u3002\u4ee3\u7801\u5728\u865a\u62df\u73af\u5883\u4e2d\u8fd0\u884c\uff0c\u865a\u62df\u73af\u5883\u662f\u4e3b\u673a\u73af\u5883\u7684\u526f\u672c\u3002\u865a\u62df\u73af\u5883\u5c06\u4e3b\u673a\u8d44\u6e90\u7684\u4e00\u5c0f\u90e8\u5206\u516c\u5f00\u7ed9\u5728\u865a\u62df\u73af\u5883\u4e2d\u8fd0\u884c\u7684\u4ee3\u7801\u3002\u591a\u4e2a\u865a\u62df\u73af\u5883\u5728\u4e3b\u673a\u73af\u5883\u4e2d\u540c\u65f6\u8fd0\u884c\uff0c\u4f46\u5728\u4e00\u4e2a\u865a\u62df\u73af\u5883\u4e2d\u8fd0\u884c\u7684\u4ee3\u7801\u65e0\u6cd5\u8bbf\u95ee\u53e6\u4e00\u4e2a\u865a\u62df\u73af\u5883\u7684\u4efb\u4f55\u8d44\u6e90\u3002\u6076\u610f\u4ee3\u7801\u53ea\u80fd\u5f71\u54cd\u8fd0\u884c\u5b83\u7684\u865a\u62df\u73af\u5883\u3002<\/p>\n\n\n\n<p>\u865a\u62df\u73af\u5883\u7531\u5728\u4e3b\u673a\u73af\u5883\u4e2d\u8fd0\u884c\u7684\u865a\u62df\u5316\u5f15\u64ce\u521b\u5efa\u548c\u7ba1\u7406\u3002\u865a\u62df\u5316\u5f15\u64ce\u5bf9\u4e3b\u673a\u73af\u5883\u7684\u8d44\u6e90\u5177\u6709\u5b8c\u5168\u8bbf\u95ee\u6743\u9650\uff0c\u5e76\u4e25\u683c\u63a7\u5236\u54ea\u4e9b\u8d44\u6e90\u53ef\u4f9b\u5404\u4e2a\u865a\u62df\u73af\u5883\u4f7f\u7528\u3002\u786c\u4ef6\u5e73\u53f0\u548c\u64cd\u4f5c\u7cfb\u7edf\u7ea7\u522b\u7684\u865a\u62df\u5316\u5f15\u64ce\u793a\u4f8b\u5305\u62ec VMWare \u548c Docker\u3002<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u6d4f\u89c8\u5668\u7684\u865a\u62df\u5316<\/h2>\n\n\n\n<p>\u5c06\u865a\u62df\u5316\u6982\u5ff5\u6df1\u5165\u5230 Web \u5e94\u7528\u7a0b\u5e8f\u7ea7\u522b\uff0c\u4e3b\u673a\u73af\u5883\u662f\u6d4f\u89c8\u5668\u3002Lightning Web Security \u662f\u5728\u4e3b\u673a\u73af\u5883\u4e2d\u8fd0\u884c\u7684\u865a\u62df\u5316\u5f15\u64ce\uff0c\u7528\u4e8e\u521b\u5efa\u548c\u63a7\u5236\u865a\u62df\u73af\u5883\u3002\u547d\u540d\u7a7a\u95f4 JavaScript \u6c99\u7bb1\u662f\u865a\u62df\u73af\u5883\u3002Lightning Web Security \u6388\u4e88\u6bcf\u4e2a\u865a\u62df\u73af\u5883\u5bf9\u4e3b\u673a\u73af\u5883\u4e2d\u7279\u5b9a\u8d44\u6e90\u7684\u6709\u9650\u8bbf\u95ee\u6743\u9650\u3002\u8fd9\u4e9b\u8d44\u6e90\u5305\u62ec\u5168\u5c40\u5bf9\u8c61\u3001\u7f51\u7edc\u8bbf\u95ee\u3001Cookie \u8bbf\u95ee\u3001\u672c\u5730\u5b58\u50a8\u7b49\u3002<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img fetchpriority=\"high\" decoding=\"async\" width=\"800\" height=\"361\" src=\"http:\/\/www.ponybai.com\/wp-content\/uploads\/2023\/12\/lwsec_architecture.png\" alt=\"\" class=\"wp-image-3894\" srcset=\"http:\/\/www.ponybai.com\/wp-content\/uploads\/2023\/12\/lwsec_architecture.png 800w, http:\/\/www.ponybai.com\/wp-content\/uploads\/2023\/12\/lwsec_architecture-300x135.png 300w, http:\/\/www.ponybai.com\/wp-content\/uploads\/2023\/12\/lwsec_architecture-768x347.png 768w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/><\/figure>\n\n\n\n<p>\u7531\u4e8e\u7ec4\u4ef6\u5728\u5176\u547d\u540d\u7a7a\u95f4\u81ea\u5df1\u7684\u865a\u62df\u73af\u5883\u4e2d\u8fd0\u884c\uff0cLightning Web Security \u53ef\u4ee5\u901a\u8fc7\u4fee\u6539 JavaScript API \u7ea7\u522b\u7684\u4ee3\u7801\u6765\u9632\u6b62\u4e0d\u5b89\u5168\u7684\u884c\u4e3a\u3002\u4fee\u6539\u6216\u626d\u66f2\u5c06\u5e94\u7528\u4e8e\u6c99\u7bb1\u4e2d\u3002<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u865a\u62df\u5316\u6548\u679c<\/h2>\n\n\n\n<p>\u4e3a\u4e86\u8bf4\u660e\u901a\u8fc7\u6c99\u76d2\u8fdb\u884c\u865a\u62df\u5316\u7684\u6548\u679c\uff0c\u8ba9\u6211\u4eec\u770b\u4e00\u4e9b cookie\u3002\u7ec4\u4ef6\u53ef\u4ee5\u5b58\u50a8 Cookie\u3002\u5e73\u53f0\u4ee3\u7801\uff08\u5305\u62ec LWS\uff09\u4e5f\u53ef\u4ee5\u5b58\u50a8 cookie\u3002\u5728\u6d4f\u89c8\u5668\u4e3b\u673a\u73af\u5883\u4e2d\uff0c\u4ee3\u7801\u4e0d\u53d7\u9650\u5236\u5730\u8fd0\u884c\u3002\u5982\u679c\u672a\u542f\u7528 LWS\uff0c\u7ec4\u4ef6\u4ee3\u7801\u5c06\u5728\u8be5\u9886\u57df\u4e2d\u6267\u884c\uff0c\u5e76\u4e14\u53ef\u4ee5\u8bbf\u95ee\u6240\u6709 cookie\uff0c\u5e76\u4e14\u53ef\u4ee5\u4e0d\u53d7\u9650\u5236\u5730\u67e5\u770b\u5176\u4e2d\u7684\u6240\u6709\u5185\u5bb9\u5e76\u5bf9\u5176\u6267\u884c\u4efb\u4f55\u64cd\u4f5c\u3002\u60a8\u4e0d\u5e0c\u671b\u7ec4\u4ef6\u5c06 Cookie \u5b58\u50a8\u5728\u5176\u4ed6\u4ee3\u7801\u53ef\u4ee5\u8bbf\u95ee\u7684\u5730\u65b9\u3002\u542f\u7528 LWS \u540e\uff0c\u7ec4\u4ef6\u4ee3\u7801\u901a\u8fc7\u5728\u547d\u540d\u7a7a\u95f4\u6c99\u7bb1\u4e2d\u8fd0\u884c\u6765\u4fdd\u62a4\u3002\u5f53\u7ec4\u4ef6\u5c1d\u8bd5\u8bbf\u95ee cookie \u65f6\uff0c\u5b83\u4eec\u53ea\u80fd\u770b\u5230\u5b83\u4eec\u5df2\u8bbe\u7f6e\u7684 cookie \u4ee5\u53ca\u4ed6\u4eec\u6709\u6743\u8bbf\u95ee\u7684 cookie\uff0c\u56e0\u4e3a LWS \u901a\u8fc7\u5c06\u5b83\u4eec\u5305\u542b\u5728\u6c99\u76d2\u4e2d\u6765\u63a7\u5236\u5b83\u4eec\u53ef\u4ee5\u8bbf\u95ee\u7684\u5185\u5bb9\u3002<\/p>\n\n\n\n<p>\u4f8b\u5982\uff0c\u5728\u547d\u540d\u7a7a\u95f4\u7684\u6c99\u76d2\u4e2d\uff0c\u7ec4\u4ef6\u53ea\u80fd\u8bbf\u95ee\u5b83\u8bbe\u7f6e\u7684 cookie\u3002LWS \u901a\u8fc7\u5411\u5bc6\u94a5\u6dfb\u52a0\u524d\u7f00\u4ee5\u5c06\u5176\u4e0e\u7ec4\u4ef6\u7684\u6c99\u7bb1\u76f8\u5173\u8054\uff0c\u5728\u6d4f\u89c8\u5668\u4e3b\u673a\u73af\u5883\u4e2d\u4ee5\u4e0d\u540c\u7684\u65b9\u5f0f\u5448\u73b0\u8be5 cookie\u3002\u60f3\u8981\u8bfb\u53d6\u6b64 cookie \u7684\u4ee3\u7801\u5728\u6c99\u76d2\u73af\u5883\u4e2d\u8fd0\u884c\uff0c\u5b83\u53ef\u4ee5\u6309\u9884\u671f\u7684\u65b9\u5f0f\u8bfb\u53d6 cookie\uff0c\u5176\u4e2d .\u8be5\u7ec4\u4ef6\u4e0d\u9700\u8981\u77e5\u9053 cookie \u5bc6\u94a5\u5728\u6d4f\u89c8\u5668\u4e3b\u673a\u73af\u5883\u4e2d\u5df2\u66f4\u6539\uff0c\u56e0\u4e3a\u8be5\u7ec4\u4ef6\u65e0\u6743\u8bbf\u95ee\u5176\u4e2d\u7684 cookie\u3002\u5982\u679c\u5728\u6c99\u76d2\u4e2d\u66f4\u6539\u4e86 cookie \u7684\u503c\uff0cLWS \u5c06\u8d1f\u8d23\u5728\u4e3b\u673a\u73af\u5883\u4e2d\u66f4\u65b0 cookie \u7684\u503c\u3002LWS \u7ba1\u7406 cookie \u952e\u524d\u7f00\u4ee5\u5c06\u5176\u5173\u8054\u5230\u547d\u540d\u7a7a\u95f4\u6c99\u7bb1\uff0c\u5e76\u9632\u6b62\u6765\u81ea\u4e0d\u540c\u547d\u540d\u7a7a\u95f4\u7684\u7ec4\u4ef6\u8bbf\u95ee\u4e3b\u673a\u73af\u5883\u4e2d\u7684 cookie\u3002<code>c<\/code><code>foo=1<\/code><code>foo=1<\/code><\/p>\n\n\n\n<p>\u6ce8\u610f<\/p>\n\n\n\n<p>cookie \u524d\u7f00\u662f \uff0c\u56e0\u6b64\u5728\u6b64\u793a\u4f8b\u4e2d\uff0ccookie \u952e\u66f4\u6539\u4e3a \u3002\u524d\u7f00\u88ab\u89c6\u4e3a\u5185\u90e8\u5b9e\u73b0\u7ec6\u8282\uff0c\u5982\u6709\u66f4\u6539\uff0c\u6055\u4e0d\u53e6\u884c\u901a\u77e5\u3002\u4ee3\u7801\u4e0d\u80fd\u4f9d\u8d56\u4e8e\u524d\u7f00\u4fdd\u6301\u5e38\u91cf\u3002\u4ece\u670d\u52a1\u5668\u63a5\u6536\u7684 cookie \u5177\u6709\u524d\u7f00\uff0c\u60a8\u53ef\u4ee5\u5728\u6d4f\u89c8\u5668\u7684\u5f00\u53d1\u4eba\u5458\u5de5\u5177\u4e2d\u770b\u5230\u8be5\u524d\u7f00\u3002\u4f8b\u5982\uff0cChrome DevTools \u4e2d\u7684\u201c\u5e94\u7528\u7a0b\u5e8f\u201d\u9009\u9879\u5361\u4f1a\u663e\u793a Cookie \u8be6\u7ec6\u4fe1\u606f\u3002<code>LSKey-{namespace}$<\/code><code>LSKey-c$foo<\/code><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u5931\u771f<\/h2>\n\n\n\n<p>Lightning Web Security \u4f7f\u7528\u4e00\u79cd\u79f0\u4e3a\u5931\u771f\u7684\u6280\u672f\uff0c\u800c\u4e0d\u662f Lightning Locker \u4e2d\u4f7f\u7528\u7684\u5b89\u5168\u5305\u88c5\u5668\u3002\u6b64\u6280\u672f\u662f\u6307\u66f4\u6539\u5728 JavaScript \u6c99\u76d2\u4e2d\u8fd0\u884c\u7684\u4ee3\u7801\uff0c\u4ee5\u9632\u6b62\u4e0d\u5b89\u5168\u884c\u4e3a\u3002<\/p>\n\n\n\n<p>\u5931\u771f\u4f1a\u52a8\u6001\u4fee\u6539\u672c\u673a JavaScript API \u4ee5\uff1a<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u9632\u6b62 API \u5c1d\u8bd5\u66f4\u6539 JavaScript \u6c99\u76d2\u5916\u90e8\u7684\u5185\u5bb9\u548c\u6570\u636e<\/li>\n\n\n\n<li>\u5c06\u8fd0\u884c\u4ee3\u7801\u9650\u5236\u5728\u6c99\u76d2\u7684\u8fb9\u754c\u5185<\/li>\n\n\n\n<li>\u9650\u5236\u6216\u51cf\u5c11 JavaScript \u6c99\u7bb1\u5185\u5bf9 DOM \u548c\u5171\u4eab\u5168\u5c40\u5bf9\u8c61\uff08\u5982 \uff09\u548c\u6570\u636e\uff08\u5982 Cookie\uff09\u7684\u8bbf\u95ee<code>window.location<\/code><\/li>\n<\/ul>\n\n\n\n<p>Lightning Web Security \u4e2d\u7684\u5927\u591a\u6570 API \u5931\u771f\u90fd\u5c5e\u4e8e\u4ee5\u4e0b\u51e0\u7c7b\u3002<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u5185\u5bb9\u8fc7\u6ee4 &#8211; \u8fc7\u6ee4\u6389\u8bbf\u95ee\u5176\u4ed6\u6c99\u76d2\u4e2d\u7684\u5c5e\u6027\u7684\u5c1d\u8bd5\uff0c\u4f8b\u5982\u5728 \u3001 \u3001 \u4e2d\uff0c\u4f46\u5141\u8bb8\u5b83\u4eec\u5728\u5f53\u524d\u6c99\u76d2\u4e2d<code>document.cookie<\/code><code>localStorage<\/code><code>sessionStorage<\/code><\/li>\n\n\n\n<li>\u6e05\u7406 &#8211; \u53bb\u9664\u6076\u610f\u4ee3\u7801\uff0c\u4f8b\u5982\u4ece \u548c \u5143\u7d20\u4e2d\u53bb\u9664\u6076\u610f\u4ee3\u7801<code>innerHTML<\/code><code>outerHTML<\/code><\/li>\n\n\n\n<li>\u5c5e\u6027\u8bbf\u95ee\u5668\u4fee\u6539 &#8211; \u9632\u6b62\u8bfb\u53d6\u6216\u5199\u5165\u67d0\u4e9b\u5c5e\u6027\u7684\u503c\uff0c\u4f8b\u5982<code>shadowRoot.mode<\/code><\/li>\n<\/ul>\n\n\n\n<p>\u5931\u771f\u8bb0\u5f55\u5728&nbsp;LWS \u5931\u771f\u67e5\u770b\u5668\u4e2d\uff0c\u8be5\u5de5\u5177\u65e8\u5728\u4f7f\u4eba\u4eec\u66f4\u5bb9\u6613\u7406\u89e3\u5355\u4e2a\u5931\u771f\u7684\u6548\u679c\u3002<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"how-lightning-web-security-compares-to-lightning-locker\">Lightning Web Security \u4e0e Lightning Locker \u7684\u6bd4\u8f83<\/h2>\n\n\n\n<p>Lightning Web Security \u4f1a\u963b\u6b62\u6216\u4fee\u6539\u4e0d\u5b89\u5168\u7684 API \u7684\u884c\u4e3a\uff0c\u5c31\u50cf Lightning Locker \u4e00\u6837\u3002\u6b64\u5916\uff0c\u65b0\u67b6\u6784\u8fd8\u652f\u6301 Lightning Locker \u6240\u4e0d\u652f\u6301\u7684\u529f\u80fd\u3002<\/p>\n\n\n\n<p>\u4ee5\u4e0b\u662f Lightning Web Security \u652f\u6301\u7684\u5176\u4ed6\u529f\u80fd\u7684\u6458\u8981\u3002\u8de8\u547d\u540d\u7a7a\u95f4\u7ec4\u4ef6\u4f7f\u7528<\/p>\n\n\n\n<p>\u60a8\u7684 Lightning Web \u7ec4\u4ef6\u53ef\u4ee5\u4ece\u5176\u4ed6\u547d\u540d\u7a7a\u95f4\u5bfc\u5165\u7ec4\u4ef6\u6216\u6a21\u5757\uff0c\u5e76\u901a\u8fc7\u7ec4\u5408\u6216\u6269\u5c55\u6765\u4f7f\u7528\u5b83\u4eec\u3002\u7ec4\u4ef6\u9694\u79bb\u5728\u5b83\u4eec\u81ea\u5df1\u7684\u547d\u540d\u7a7a\u95f4 JavaScript \u6c99\u7bb1\u4e2d\uff0c\u4f46\u5b83\u5bf9\u60a8\u662f\u900f\u660e\u7684\uff0c\u56e0\u4e3a\u5b89\u5168\u4f53\u7cfb\u7ed3\u6784\u5728\u540e\u53f0\u6267\u884c\u865a\u62df\u901a\u4fe1\u3002\u4e0e\u5168\u5c40\u5bf9\u8c61\u7684\u4ea4\u4e92<\/p>\n\n\n\n<p>\u7531\u4e8e\u6bcf\u4e2a\u547d\u540d\u7a7a\u95f4\u90fd\u6709\u5176\u81ea\u5df1\u7684\u72ec\u7acb JavaScript \u6c99\u7bb1\uff0c\u56e0\u6b64\u6211\u4eec\u53ef\u4ee5\u76f4\u63a5\u516c\u5f00 \u3001 \u548c\u5168\u5c40\u5bf9\u8c61\uff0c\u800c\u65e0\u9700\u4f7f\u7528\u5305\u88c5\u5668\u6765\u4fdd\u62a4\u7ec4\u4ef6\u3002Lightning Web Security \u4f1a\u4fee\u6539\u8fd9\u4e9b\u5bf9\u8c61\u7684\u884c\u4e3a\uff0c\u4ee5\u9632\u6b62\u7ec4\u4ef6\u8bbf\u95ee\u6765\u81ea\u53e6\u4e00\u4e2a\u547d\u540d\u7a7a\u95f4\u7684\u7ec4\u4ef6\u4f7f\u7528\u7684\u5168\u5c40\u5bf9\u8c61\u3002<code>window<\/code><code>document<\/code><code>element<\/code>\u8bbf\u95ee\u5185\u5bb9\u548c\u6807\u8bc6<code>iframe<\/code><\/p>\n\n\n\n<p>\u60a8\u7684 Lightning Web \u7ec4\u4ef6\u53ef\u4ee5\u8bbf\u95ee\u5143\u7d20\u4e2d\u7684\u5185\u5bb9\uff0c\u4f46 Web \u6d4f\u89c8\u5668\u4f1a\u963b\u6b62\u8bbf\u95ee\u6765\u81ea\u4e0d\u540c\u6765\u6e90\u7684\u5185\u5bb9\u3002iframe \u6807\u8bc6\u4e5f\u8de8\u6c99\u76d2\u8fb9\u754c\u8fdb\u884c\u7ef4\u62a4\uff0c\u4ee5\u4fbf\u68c0\u67e5\u4e8b\u4ef6\u6e90\u7684\u6807\u8bc6\u6b63\u5e38\u5de5\u4f5c\u3002Lightning Locker \u4f1a\u963b\u6b62\u8bbf\u95ee iframe \u4e2d\u7684\u5185\u5bb9\u3002<code>iframe<\/code><code>postMessage<\/code>\u63d0\u9ad8\u6027\u80fd<\/p>\n\n\n\n<p>\u5728 JavaScript \u6c99\u76d2\u4e2d\u6267\u884c\u4ee3\u7801\u7684\u901f\u5ea6\u6bd4\u5728 Lightning Locker \u4e2d\u66f4\u5feb\uff0c\u56e0\u4e3a Lightning Web Security \u4e0d\u4f7f\u7528\u5b89\u5168\u5305\u88c5\u5668\uff0c\u8fd9\u53ef\u80fd\u4f1a\u964d\u4f4e\u6027\u80fd\u3002\u66f4\u597d\u5730\u652f\u6301\u7b2c\u4e09\u65b9 JavaScript<\/p>\n\n\n\n<p>\u5e93\u53ef\u4ee5\u4f7f\u7528\u64cd\u4f5c\u5168\u5c40\u5bf9\u8c61\u7b49\u6280\u672f\uff0c\u56e0\u4e3a\u5b83\u4eec\u5728 JavaScript \u6c99\u76d2\u4e2d\u8fd0\u884c\uff0c\u5e76\u4e14\u5b83\u4eec\u5bf9\u5168\u5c40\u53d8\u91cf\u7684\u66f4\u6539\u4e0d\u4f1a\u5f71\u54cd\u5176\u4ed6\u547d\u540d\u7a7a\u95f4\u4e2d\u7684\u7ec4\u4ef6\u3002Lightning Locker \u63d0\u4f9b\u4e86 \u3001 \u548c \u5bf9\u8c61\u7684\u5b89\u5168\u5305\u88c5\u5668\u7248\u672c\uff0c\u4ee5\u9632\u6b62\u8bbf\u95ee\u8fd9\u4e9b\u5168\u5c40\u5bf9\u8c61\u7684\u67d0\u4e9b API\u3002\u5305\u88c5\u5668\u963b\u6b62\u4f7f\u7528\u67d0\u4e9b\u8bbf\u95ee\u8fd9\u4e9b\u53d7\u4fdd\u62a4 API \u7684\u7b2c\u4e09\u65b9\u5e93\u3002<code>window<\/code><code>document<\/code><code>element<\/code>\u968f\u7740\u6807\u51c6 JavaScript \u7684\u53d1\u5c55\uff0c\u4e0e\u6807\u51c6 JavaScript \u7684\u517c\u5bb9\u6027<\/p>\n\n\n\n<p>Lightning Web Security \u4ee5\u6700\u65b0\u7684 TC39 \u6807\u51c6\u4e3a\u84dd\u672c\uff0c\u8fd9\u4e9b\u6807\u51c6\u968f\u7740\u6d4f\u89c8\u5668\u5e73\u53f0\u7684\u53d1\u5c55\u800c\u53d1\u5c55\u3002<\/p>\n\n\n\n<p>\u4e0b\u8868\u6bd4\u8f83\u4e86 Lightning Locker \u529f\u80fd\u4e0e Lightning Web Security\u3002<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th>\u7279\u5f81<\/th><th>\u95ea\u7535\u50a8\u7269\u67dc<\/th><th>Lightning Web \u5b89\u5168<\/th><\/tr><\/thead><tbody><tr><td>JavaScript \u4e25\u683c\u6a21\u5f0f<\/td><td>\u6267\u884c<\/td><td>\u6267\u884c<\/td><\/tr><tr><td>DOM \u8bbf\u95ee\u904f\u5236<\/td><td>\u7ec4\u4ef6\u53ea\u80fd\u8bbf\u95ee\u5b83\u4eec\u521b\u5efa\u7684\u5143\u7d20\u3002\u8bf7\u53c2\u9605&nbsp;DOM \u8bbf\u95ee\u904f\u5236\u3002Lightning Locker \u53ef\u9632\u6b62\u60a8\u7834\u574f Lightning Web \u7ec4\u4ef6\u4e4b\u95f4\u7684&nbsp;Shadow DOM&nbsp;\u5c01\u88c5\u3002\u60a8\u65e0\u6cd5\u4fee\u6539\u5c5e\u6027\u3002<code>shadowRoot<\/code><\/td><td>\u7ec4\u4ef6\u5bf9 DOM \u7684\u8bbf\u95ee\u7531\u6d4f\u89c8\u5668\u901a\u8fc7 Shadow DOM \u63a7\u5236\uff0cShadow DOM&nbsp;\u662f\u5728 Web \u6d4f\u89c8\u5668\u4e2d\u5b9e\u73b0\u7684 Web \u6807\u51c6\u3002Lightning Web Security \u901a\u8fc7\u8981\u6c42 to be \u5f3a\u5236\u6267\u884c closed\uff0c\u8fd9\u63d0\u4f9b\u4e86\u989d\u5916\u7684\u5c01\u88c5\u9650\u5236\u3002\u53c2\u89c1&nbsp;MDN Web \u6587\u6863\uff1aShadowRoot.mode\u3002<code>shadowRootmodeclosed<\/code><\/td><\/tr><tr><td>\u5b89\u5168\u5305\u88c5\u5668<\/td><td>Lightning Locker \u5c06 JavaScript \u5bf9\u8c61\u5305\u88c5\u5728\u66f4\u5b89\u5168\u7684\u7248\u672c\u4e2d\uff0c\u4ee5\u9632\u6b62\u4e0d\u5b89\u5168\u7684\u884c\u4e3a\u3002\u4e0e\u5bf9\u8c61\u7684\u6240\u6709\u4ea4\u4e92\u90fd\u662f\u901a\u8fc7\u5bf9\u8c61\u7684\u5b89\u5168\u7248\u672c\u8fdb\u884c\u7684\u3002\u8bf7\u53c2\u9605\u5b89\u5168\u5305\u88c5\u5668\u3002<\/td><td>Lightning Web Security \u4e0d\u4f7f\u7528\u5305\u88c5\u5668\u3002\u5b83\u4f7f\u7528\u5931\u771f\u6765\u6709\u9009\u62e9\u5730\u4fee\u6539\u542f\u7528\u975e\u5b89\u5168\u884c\u4e3a\u7684 API\u3002<\/td><\/tr><tr><td>\u662f\u5426\u5141\u8bb8\u81ea\u5b9a\u4e49\u5143\u7d20\uff1f<\/td><td>Lightning Locker\u5757\u3002\u8bf7\u53c2\u9605\u5e26\u6709 Lightning Locker \u7684\u7b2c\u4e09\u65b9 Web \u7ec4\u4ef6\u3002<code>customElements<\/code><\/td><td>Lightning Web Security \u865a\u62df\u5316 API\uff0c\u4ee5\u4fbf\u5728\u7ec4\u4ef6\u547d\u540d\u7a7a\u95f4\u4e2d\u4f7f\u7528\u81ea\u5b9a\u4e49\u5143\u7d20\u3002<code>customElementRegistry<\/code><\/td><\/tr><tr><td><code>eval()<\/code>\u529f\u80fd\u9650\u5236<\/td><td><code>eval()<\/code>\u4ec5\u9650\u4e8e Lightning Locker \u7684\u5168\u7403\u8303\u56f4\u3002\u8bf7\u53c2\u9605&nbsp;eval\uff08\uff09 \u51fd\u6570\u53d7 Lightning Locker \u9650\u5236<\/td><td><code>eval()<\/code>\u4e0d\u4f1a\u88ab\u963b\u6b62\uff0c\u4f46\u4f1a\u901a\u8fc7\u6c99\u76d2\u4e2d\u7684\u626d\u66f2\u6765\u963b\u6b62\u6267\u884c\u4e0d\u5b89\u5168\u7684\u6d3b\u52a8\u3002<\/td><\/tr><tr><td>Blob \u5bf9\u8c61\u4e2d\u5141\u8bb8\u7684 MIME \u7c7b\u578b<\/td><td>Lightning Locker \u5141\u8bb8\u5141\u8bb8\u7684&nbsp;MIME \u7c7b\u578b\u5217\u8868\u3002<\/td><td>\u5141\u8bb8\u4f7f\u7528\u76f8\u540c\u7684 MIME \u7c7b\u578b\u3002\u4f46\u662f\uff0c\u5728\u521b\u5efa Blob \u5bf9\u8c61\u65f6\uff0c\u5fc5\u987b\u6307\u5b9a MIME \u7c7b\u578b\u3002<\/td><\/tr><tr><td>\u4f20\u9012\u7ed9\u5b50\u7ec4\u4ef6\u7684\u6570\u7ec4<\/td><td>\u8fc7\u6ee4\u7ec4\u4ef6\u4e4b\u95f4\u4f20\u9012\u7684\u9635\u5217\u4f1a\u5bfc\u81f4 Lightning Locker \u4e2d\u51fa\u73b0\u6027\u80fd\u95ee\u9898\u3002\u8bf7\u53c2\u9605\u4f20\u9012\u7ed9\u5b50\u7ec4\u4ef6\u65f6\u4ee3\u7406\u7684\u6570\u7ec4\u3002<\/td><td>Lightning Web Security \u89e3\u51b3\u4e86\u8fd9\u4e2a\u95ee\u9898\uff0c\u56e0\u4e3a\u5b83\u4e0d\u8fc7\u6ee4 DOM \u8bf7\u6c42\uff0c\u800c\u662f\u4f9d\u8d56\u4e8e\u5f71\u5b50 DOM\u3002<\/td><\/tr><tr><td>\u8fd4\u56de\u5230\u4ee5\u524d\u7248\u672c\u7684 Locker<\/td><td>Lightning Locker \u652f\u6301\u5c06\u7ec4\u7ec7\u8bbe\u7f6e\u4e3a\u4f7f\u7528\u4ee5\u524d\u7248\u672c\u7684 Locker \u89c4\u5219\u3002\u8bf7\u53c2\u9605\u9009\u62e9\u7ec4\u7ec7\u7684 Locker API \u7248\u672c\u3002<\/td><td>Locker API \u7248\u672c\u8bbe\u7f6e\u5bf9 Lightning Web Security \u6ca1\u6709\u5f71\u54cd\u3002\u4f7f\u7528 Lightning Web Security \u7684\u8bbe\u7f6e\u4e0d\u4e0e\u4efb\u4f55 API \u7248\u672c\u5173\u8054\u3002\u542f\u7528 Lightning Web Security \u540e\uff0c\u7ec4\u7ec7\u4e2d\u7684\u6240\u6709 Lightning \u7ec4\u4ef6\u90fd\u4f1a\u53d7\u5230\u5f71\u54cd\uff0c\u76f4\u5230\u60a8\u7981\u7528\u5b83\u3002<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"which-components-are-supported-by-lightning-web-security\">Lightning Web Security \u652f\u6301\u54ea\u4e9b\u7ec4\u4ef6<\/h2>\n\n\n\n<p>Lightning Web Security \u5df2\u6b63\u5f0f\u53d1\u5e03\uff0c\u53ef\u7528\u4e8e Lightning Web \u7ec4\u4ef6\u548c Aura \u7ec4\u4ef6\u3002LWS \u4f1a\u5f71\u54cd\u5728\u60a8\u7684\u7ec4\u7ec7\u4e2d\u521b\u5efa\u6216\u901a\u8fc7\u8f6f\u4ef6\u5305\u5b89\u88c5\u7684\u81ea\u5b9a\u4e49 Lightning \u7ec4\u4ef6\u3002<\/p>\n\n\n\n<p>\u5982\u679c\u60a8\u4e0d\u786e\u5b9a\u60a8\u7684\u7ec4\u7ec7\u662f\u5426\u5177\u6709\u81ea\u5b9a\u4e49 Lightning \u7ec4\u4ef6\uff0c\u8bf7\u4f7f\u7528\u201c\u8bbe\u7f6e\u201d\u5217\u51fa\u7ec4\u7ec7\u4e2d\u7684\u7ec4\u4ef6\u3002<\/p>\n\n\n\n<p>\u5728\u201c\u8bbe\u7f6e\u201d\u4e2d\uff0c\u952e\u5165\u201c\u5feb\u901f\u67e5\u627e\u201d\uff0c\u7136\u540e\u9009\u62e9\u201c<strong>Lightning \u7ec4\u4ef6<\/strong>\u201d\u3002<code>Lightning Components<\/code><\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"802\" height=\"489\" src=\"http:\/\/www.ponybai.com\/wp-content\/uploads\/2023\/12\/setup_component_list.png\" alt=\"\" class=\"wp-image-3895\" srcset=\"http:\/\/www.ponybai.com\/wp-content\/uploads\/2023\/12\/setup_component_list.png 802w, http:\/\/www.ponybai.com\/wp-content\/uploads\/2023\/12\/setup_component_list-300x183.png 300w, http:\/\/www.ponybai.com\/wp-content\/uploads\/2023\/12\/setup_component_list-768x468.png 768w\" sizes=\"(max-width: 802px) 100vw, 802px\" \/><\/figure>\n\n\n\n<p>Lightning \u7ec4\u4ef6\u9875\u9762\u5217\u51fa\u4e86\u60a8\u7ec4\u7ec7\u7684\u7ec4\u4ef6\uff0c\u6307\u793a\u7ec4\u4ef6\u7684\u7c7b\u578b\u4ee5\u53ca\u7ec4\u4ef6\u662f\u5426\u6765\u81ea\u6258\u7ba1\u8f6f\u4ef6\u5305\u3002<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u201c\u7c7b\u578b\u201d\u5217\u6307\u5b9a Aura \u6216 LWC\u3002\u6309\u7c7b\u578b\u5bf9\u5217\u8868\u8fdb\u884c\u6392\u5e8f\u4ee5\u5206\u7ec4\u5e76\u5feb\u901f\u67e5\u770b\u4efb\u4f55 LWC\u3002<\/li>\n\n\n\n<li>\u8be5<img decoding=\"async\" src=\"https:\/\/developer.salesforce.com\/1\/content-asset\/immutable\/s\/17013859630000000\/salesforcedocslwc\/content\/media\/icoManagedInstalled.png\" alt=\"\u6258\u7ba1\u5305\u56fe\u6807\">\u56fe\u6807\u8868\u793a\u7ec4\u4ef6\u6765\u81ea\u6258\u7ba1\u5305\u3002\u6b64\u7c7b\u7ec4\u4ef6\u53ea\u80fd\u7531 AppExchange \u5e94\u7528\u7a0b\u5e8f\u7684\u6240\u6709\u8005\u4fee\u6539\u3002\u5982\u679c\u672a\u663e\u793a\u56fe\u6807\uff0c\u5219\u8868\u793a\u7ec4\u4ef6\u4e0d\u53d7\u7ba1\u7406\uff0c\u5fc5\u8981\u65f6\u53ef\u4ee5\u4fee\u6539\u4ee3\u7801\u3002<\/li>\n<\/ul>\n\n\n\n<p>\u63d0\u793a<\/p>\n\n\n\n<p>\u5982\u679c Lightning \u7ec4\u4ef6\u5217\u8868\u4e3a\u7a7a\uff0c\u5219 Lightning Web Security \u4e0d\u4f1a\u5f71\u54cd\u60a8\u7684\u7ec4\u7ec7\u3002<\/p>\n\n\n\n<p>\u5982\u679c\u5217\u51fa\u4e86\u81ea\u5b9a\u4e49 Lightning \u7ec4\u4ef6\uff0c\u8bf7\u7ee7\u7eed\u9605\u8bfb\u3002<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"when-to-enable-lightning-web-security\">\u4f55\u65f6\u542f\u7528 Lightning Web\u5b89\u5168<\/h2>\n\n\n\n<p>\u4f7f\u7528\u6b64\u8868\u53ef\u6839\u636e\u7ec4\u7ec7\u4e2d\u5b58\u5728\u7684\u7ec4\u4ef6\u7c7b\u578b\u786e\u5b9a\u662f\u5426\u5728\u751f\u4ea7\u7ec4\u7ec7\u4e2d\u542f\u7528 Lightning Web Security\u3002<\/p>\n\n\n\n<p>\u9ed8\u8ba4\u60c5\u51b5\u4e0b\uff0c\u65b0\u7ec4\u7ec7\u542f\u7528\u4e86 Lightning Web Security\u3002\u5982\u679c\u60a8\u8ba1\u5212\u4f7f\u7528\u9884\u5148\u5b58\u5728\u6216\u6253\u5305\u7684 Lightning Web \u7ec4\u4ef6\u586b\u5145\u65b0\u7ec4\u7ec7\uff0c\u8bf7\u52a1\u5fc5\u5148\u5728\u542f\u7528\u4e86 LWS \u7684\u6c99\u76d2\u73af\u5883\u4e2d\u8fdb\u884c\u6d4b\u8bd5\u3002\u6709\u5173\u66f4\u591a\u4fe1\u606f\uff0c\u8bf7\u53c2\u9605\u4f7f\u7528 Lightning Web Security \u8bd5\u7528 LWC \u7684\u5de5\u4f5c\u6d41\u7a0b\u3002<\/p>\n\n\n\n<p>\u6ce8\u610f<\/p>\n\n\n\n<p>\u5982\u679c\u60a8\u7684\u7ec4\u7ec7\u4e2d\u4f7f\u7528\u4e86 Experience Cloud\uff0c\u8bf7\u5728\u542f\u7528 LWS \u4e4b\u524d\u53c2\u9605&nbsp;Experience Builder \u7ad9\u70b9\u548c LWS\u3002<\/p>\n\n\n\n<p>\u8981\u786e\u5b9a\u7ec4\u7ec7\u4e2d\u5b58\u5728\u7684\u7ec4\u4ef6\u7c7b\u578b\uff0c\u8bf7\u53c2\u9605&nbsp;Lightning Web Security \u652f\u6301\u54ea\u4e9b\u7ec4\u4ef6\u3002<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th>\u7ec4\u7ec7\u4e2d\u7684\u7ec4\u4ef6<\/th><th>\u662f\u5426\u53ef\u4ee5\u5728\u751f\u4ea7\u73af\u5883\u4e2d\u542f\u7528 LWS\uff1f<\/th><th>\u6d4b\u8bd5\u65b9\u6cd5<\/th><\/tr><\/thead><tbody><tr><td>\u65e0\u7ec4\u4ef6<\/td><td>\u662f\u7684<\/td><td>\u4e0d\u9700\u8981\u6d4b\u8bd5\uff0c\u56e0\u4e3a\u5982\u679c\u7ec4\u7ec7\u4e2d\u6ca1\u6709\u7ec4\u4ef6\uff0cLWS \u5c06\u4e0d\u8d77\u4f5c\u7528\u3002\u4f46\u662f\uff0c\u59cb\u7ec8\u5efa\u8bae\u5728\u6c99\u76d2\u7ec4\u7ec7\u4e2d\u6d4b\u8bd5\u65b0\u7248\u672c\u3002<\/td><\/tr><tr><td>\u4ec5\u9650 LWC<\/td><td>\u662f\u7684\uff0c\u5728\u6c99\u76d2\u4e2d\u6d4b\u8bd5\u540e<\/td><td>\u6211\u4eec\u5f3a\u70c8\u5efa\u8bae\u60a8\u9996\u5148\u5728\u7ec4\u7ec7\u7684\u6c99\u76d2\u6682\u5b58\u73af\u5883\u4e2d\u8bd5\u7528 Lightning Web Security\u3002\u8bf7\u53c2\u9605\u4f7f\u7528 Lightning Web Security \u8bd5\u7528 LWC \u7684\u5de5\u4f5c\u6d41\u7a0b\u3002\u5982\u679c\u6d4b\u8bd5\u663e\u793a\u60a8\u7684\u7ec4\u4ef6\u5728\u6c99\u76d2\u7ec4\u7ec7\u4e2d\u8fd0\u884c\u826f\u597d\uff0c\u8bf7\u5728\u751f\u4ea7\u7ec4\u7ec7\u4e2d\u5c06\u5176\u6253\u5f00\u3002\u5982\u679c\u51fa\u73b0\u95ee\u9898\uff0c\u60a8\u53ef\u4ee5\u901a\u8fc7\u53d6\u6d88\u9009\u62e9 LWS \u8bbe\u7f6e\u8f7b\u677e\u6062\u590d\u4f7f\u7528 Lightning Locker for Lightning \u7ec4\u4ef6\u3002<\/td><\/tr><tr><td>Aura \u548c LWC<\/td><td>\u662f\u7684\uff0c\u5728\u6c99\u76d2\u4e2d\u6d4b\u8bd5\u540e<\/td><td>\u6211\u4eec\u5f3a\u70c8\u5efa\u8bae\u60a8\u9996\u5148\u5728\u7ec4\u7ec7\u7684\u6c99\u76d2\u6682\u5b58\u73af\u5883\u4e2d\u8bd5\u7528 Lightning Web Security\u3002\u8bf7\u53c2\u9605\u4f7f\u7528 Lightning Web Security \u8bd5\u7528 LWC \u7684\u5de5\u4f5c\u6d41\u7a0b\u3002\u5982\u679c\u6d4b\u8bd5\u663e\u793a\u60a8\u7684\u7ec4\u4ef6\u5728\u6c99\u76d2\u7ec4\u7ec7\u4e2d\u8fd0\u884c\u826f\u597d\uff0c\u8bf7\u5728\u751f\u4ea7\u7ec4\u7ec7\u4e2d\u5c06\u5176\u6253\u5f00\u3002\u5982\u679c\u51fa\u73b0\u95ee\u9898\uff0c\u60a8\u53ef\u4ee5\u901a\u8fc7\u53d6\u6d88\u9009\u62e9 LWS \u8bbe\u7f6e\u8f7b\u677e\u6062\u590d\u4f7f\u7528 Lightning Locker for Lightning \u7ec4\u4ef6\u3002\u5982\u679c\u60a8\u7684\u7ec4\u7ec7\u5728 Spring &#8217;23 \u4e4b\u524d\u542f\u7528\u4e86 LWS \u8bbe\u7f6e\uff0c\u5e76\u4e14\u60a8\u7684\u7ec4\u7ec7\u5305\u542b\u81ea\u5b9a\u4e49 Aura \u7ec4\u4ef6\uff0c\u5219 LWS \u8bbe\u7f6e\u5c06\u4fdd\u6301\u542f\u7528\u72b6\u6001\uff0c\u5e76\u7ee7\u7eed\u4ec5\u5f71\u54cd\u60a8\u7684 Lightning Web \u7ec4\u4ef6\u3002\u60a8\u7684\u7ec4\u7ec7\u5df2\u88ab\u6392\u9664\u5728 LWS for Aura \u6d4b\u8bd5\u7248\u4e4b\u5916\uff0c\u56e0\u6b64\u5b83\u4e0d\u4f1a\u5f71\u54cd\u60a8\u5728 23 \u5e74\u6625\u5b63\u7684 Aura \u7ec4\u4ef6\u3002\u5728 Summer &#8217;23 \u4e2d\uff0c\u5982\u679c\u60a8\u7684\u7ec4\u7ec7\u4e4b\u524d\u88ab\u6392\u9664\u5728 LWS for Aura \u4e4b\u5916\uff0cLWS \u5c06\u4fdd\u6301\u542f\u7528\u72b6\u6001\uff0c\u5e76\u7ee7\u7eed\u4ec5\u5f71\u54cd Lightning Web \u7ec4\u4ef6\u3002\u6211\u4eec\u9010\u6b65\u63a8\u51fa LWS \u7684\u76ee\u6807\u662f\u4ece\u9884\u8ba1\u4e0d\u4f1a\u53d7 LWS \u5f71\u54cd\u7684\u7ec4\u7ec7\u5f00\u59cb\uff0c\u5e76\u6700\u7ec8\u4e3a\u6240\u6709\u7ec4\u7ec7\u542f\u7528 LWS\u3002\u5c06\u67d0\u4e9b\u7ec4\u7ec7\u6392\u9664\u5728 LWS for Aura \u4e4b\u5916\u4ec5\u9002\u7528\u4e8e\u751f\u4ea7\u7ec4\u7ec7\u3002LWS for Aura \u5728 Summer &#8217;23 \u6c99\u76d2\u4e2d\u4e3a\u88ab\u6392\u9664\u5728\u5916\u7684\u7ec4\u7ec7\u542f\u7528\uff0c\u4ee5\u4fbf\u60a8\u53ef\u4ee5\u5f00\u59cb\u6d4b\u8bd5 Aura \u7ec4\u4ef6\u3002<\/td><\/tr><tr><td>\u4ec5\u5149\u73af<\/td><td>\u662f\u7684\uff0c\u5728\u6c99\u76d2\u4e2d\u6d4b\u8bd5\u540e<\/td><td>\u6211\u4eec\u5f3a\u70c8\u5efa\u8bae\u60a8\u9996\u5148\u5728\u7ec4\u7ec7\u7684\u6c99\u76d2\u6682\u5b58\u73af\u5883\u4e2d\u8bd5\u7528 Lightning Web Security\u3002\u8bf7\u53c2\u9605\u4f7f\u7528 Lightning Web Security \u8bd5\u7528 LWC \u7684\u5de5\u4f5c\u6d41\u7a0b\u3002\u540c\u6837\u7684\u5de5\u4f5c\u6d41\u7a0b\u4e5f\u9002\u7528\u4e8e Aura \u7ec4\u4ef6\u3002\u5982\u679c\u6d4b\u8bd5\u663e\u793a\u60a8\u7684\u7ec4\u4ef6\u5728\u6c99\u76d2\u7ec4\u7ec7\u4e2d\u8fd0\u884c\u826f\u597d\uff0c\u8bf7\u5728\u751f\u4ea7\u7ec4\u7ec7\u4e2d\u5c06\u5176\u6253\u5f00\u3002\u5982\u679c\u51fa\u73b0\u95ee\u9898\uff0c\u60a8\u53ef\u4ee5\u901a\u8fc7\u53d6\u6d88\u9009\u62e9 LWS \u8bbe\u7f6e\u8f7b\u677e\u6062\u590d\u4f7f\u7528 Lightning Locker for Lightning \u7ec4\u4ef6\u3002<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"enable-lightning-web-security-in-an-org\">\u5728\u7ec4\u7ec7\u4e2d\u542f\u7528 Lightning Web\u5b89\u5168<\/h2>\n\n\n\n<p>\u9996\u5148\u5728\u6c99\u76d2\u73af\u5883\u4e2d\u6d4b\u8bd5 Lightning Web Security\uff0c\u7136\u540e\u5728\u751f\u4ea7\u73af\u5883\u4e2d\u6d4b\u8bd5\u3002<\/p>\n\n\n\n<p>\u9ed8\u8ba4\u60c5\u51b5\u4e0b\uff0c\u65b0\u7ec4\u7ec7\u542f\u7528\u4e86\u9002\u7528\u4e8e Lightning Web \u7ec4\u4ef6\u7684 Lightning Web Security \u548c Aura \u7ec4\u4ef6\u3002\u5982\u679c\u60a8\u8ba1\u5212\u4f7f\u7528\u9884\u5148\u5b58\u5728\u6216\u6253\u5305\u7684 Lightning Web \u7ec4\u4ef6\u586b\u5145\u65b0\u7ec4\u7ec7\uff0c\u8bf7\u52a1\u5fc5\u5148\u5728\u542f\u7528\u4e86 LWS \u7684\u6c99\u76d2\u73af\u5883\u4e2d\u8fdb\u884c\u6d4b\u8bd5\u3002\u6709\u5173\u66f4\u591a\u4fe1\u606f\uff0c\u8bf7\u53c2\u9605\u4f7f\u7528 Lightning Web Security \u8bd5\u7528 LWC \u7684\u5de5\u4f5c\u6d41\u7a0b\u3002<\/p>\n\n\n\n<p>\u6709\u5173\u4e34\u65f6\u7ec4\u7ec7\u7684\u4fe1\u606f\uff0c\u8bf7\u53c2\u9605\u5728\u4e34\u65f6\u7ec4\u7ec7\u4e2d\u542f\u7528\u548c\u7981\u7528 LWS\u3002<\/p>\n\n\n\n<p>\u91cd\u8981<\/p>\n\n\n\n<p>\u5728\u542f\u7528\u4e4b\u524d\uff0c\u8bf7\u53c2\u9605\u4f55\u65f6\u542f\u7528 Lightning Web Security\uff0c\u4ee5\u786e\u5b9a\u662f\u5426\u5728\u751f\u4ea7\u7ec4\u7ec7\u4e2d\u542f\u7528\u5b83\u3002<\/p>\n\n\n\n<p>\u8981\u5728\u7ec4\u7ec7\u4e2d\u4f7f\u7528 Lightning Web Security\uff1a<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>\u5728\u201c\u8bbe\u7f6e\u201d\u7684\u201c\u5feb\u901f\u67e5\u627e\u201d\u6846\u4e2d\uff0c\u8f93\u5165 \uff0c\u7136\u540e\u9009\u62e9\u201c<strong>\u4f1a\u8bdd\u8bbe\u7f6e<\/strong>\u201d\u3002<code>Session<\/code><\/li>\n\n\n\n<li>\u5728\u201c\u4f1a\u8bdd\u8bbe\u7f6e\u201d\u9875\u9762\u4e0a\uff0c\u9009\u62e9\u5c06 Lightning Web&nbsp;<strong>Security \u7528\u4e8e Lightning Web \u7ec4\u4ef6\u548c Aura \u7ec4\u4ef6<\/strong>\u5e76\u4fdd\u5b58\u3002<\/li>\n\n\n\n<li>\u542f\u7528\u6216\u7981\u7528 Lightning Web Security \u540e\u6e05\u9664\u6d4f\u89c8\u5668\u7f13\u5b58\uff0c\u4ee5\u786e\u4fdd\u5728\u6d4f\u89c8\u5668\u4e2d\u52a0\u8f7d\u6b63\u786e\u7684\u6587\u4ef6\u3002\u5982\u679c\u60a8\u6000\u7591\u6b63\u786e\u7684\u5b89\u5168\u4f53\u7cfb\u7ed3\u6784\u672a\u751f\u6548\uff0c\u8bf7\u53c2\u9605\u5ef6\u8fdf\u542f\u7528\u6216\u7981\u7528 LWS\u3002<\/li>\n<\/ol>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"800\" height=\"486\" src=\"http:\/\/www.ponybai.com\/wp-content\/uploads\/2023\/12\/setup_lwsec_enable.png\" alt=\"\" class=\"wp-image-3896\" srcset=\"http:\/\/www.ponybai.com\/wp-content\/uploads\/2023\/12\/setup_lwsec_enable.png 800w, http:\/\/www.ponybai.com\/wp-content\/uploads\/2023\/12\/setup_lwsec_enable-300x182.png 300w, http:\/\/www.ponybai.com\/wp-content\/uploads\/2023\/12\/setup_lwsec_enable-768x467.png 768w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/><\/figure>\n\n\n\n<p>\u8981\u62a5\u544a\u95ee\u9898\u3001\u63d0\u4f9b\u53cd\u9988\u6216\u8be2\u95ee\u6709\u5173 Lightning Web Security \u7684\u95ee\u9898\uff0c\u8bf7\u8f6c\u5230 Trailhead \u4e0a\u7684&nbsp;Lightning \u7ec4\u4ef6\u5f00\u53d1\u7ec4\u3002<\/p>\n\n\n\n<p>\u91cd\u8981<\/p>\n\n\n\n<p>LWS \u4f9d\u9760 Stricter CSP \u6765\u5168\u9762\u5b9e\u65bd\u5176\u5b89\u5168\u63aa\u65bd\u3002\u6211\u4eec\u5f3a\u70c8\u5efa\u8bae\u60a8\u5728\u542f\u7528 LWS \u65f6\u4fdd\u6301\u542f\u7528\u66f4\u4e25\u683c\u7684\u5185\u5bb9\u5b89\u5168\u7b56\u7565\u8bbe\u7f6e\u5904\u4e8e\u6253\u5f00\u72b6\u6001\u3002<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"enable-and-disable-lws-in-scratch-orgs\">\u5728\u4e34\u65f6\u7ec4\u7ec7\u4e2d\u542f\u7528\u548c\u7981\u7528 LWS<\/h2>\n\n\n\n<p>\u9ed8\u8ba4\u60c5\u51b5\u4e0b\uff0c\u65b0\u7ec4\u7ec7\u542f\u7528\u4e86 LWS for Lightning Web \u7ec4\u4ef6\u548c Aura \u7ec4\u4ef6\u3002\u65b0\u7684\u4e34\u65f6\u7ec4\u7ec7\u4e5f\u542f\u7528\u4e86 LWS\u3002<\/p>\n\n\n\n<p>\u60a8\u53ef\u4ee5\u4f7f\u7528\u4e34\u65f6\u7ec4\u7ec7\u5b9a\u4e49\u6587\u4ef6\u5728\u4e34\u65f6\u7ec4\u7ec7\u4e2d\u542f\u7528\u548c\u7981\u7528 LWS\u3002\u5e03\u5c14\u503c\u542f\u7528\u548c\u7981\u7528 LWS\uff0c\u800c\u4e0d\u662f Lightning Locker\u3002\u4f8b\u5982\uff0c\u5c06\u8fd9\u4e9b\u884c\u6dfb\u52a0\u5230\u5b9a\u4e49\u6587\u4ef6\u4e2d\uff0c\u4ee5\u5728\u4e34\u65f6\u7ec4\u7ec7\u4e2d\u7981\u7528 LWS\u3002<code>lockerServiceNext<\/code><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\u201dsettings\": {\n     \"securitySettings\": {\n         \"sessionSettings\": {\n            \"lockerServiceNext\": false\n           }\n      }\n}<\/code><\/pre>\n\n\n\n<p>\u7981\u7528 LWS \u4f1a\u8fd4\u56de\u60a8\u7684\u4e34\u65f6\u7ec4\u7ec7\uff0c\u4ee5\u4fbf\u5c06 Lightning Locker \u7528\u4e8e Lightning Web \u7ec4\u4ef6\u548c Aura \u7ec4\u4ef6\u3002<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"tools-support-for-lightning-web-security\">Lightning Web Security \u7684\u5de5\u5177\u652f\u6301<\/h2>\n\n\n\n<p>ESLint \u89c4\u5219\u6267\u884c\u9759\u6001\u4ee3\u7801\u5206\u6790\uff0c\u4ee5\u5e2e\u52a9\u60a8\u67e5\u627e\u4ee3\u7801\u4e2d\u89e6\u53d1 Lightning Web Security \u5931\u771f\u7684\u533a\u57df\u3002\u5f53 JavaScript \u4ee3\u7801\u5728\u6c99\u76d2\u4e2d\u8fd0\u884c\u65f6\uff0cLightning Web Security \u63a7\u5236\u53f0\u4f1a\u5bf9 JavaScript \u4ee3\u7801\u6267\u884c\u52a8\u6001\u68c0\u67e5\uff0c\u4ee5\u5e2e\u52a9\u60a8\u786e\u5b9a\u4ee3\u7801\u95ee\u9898\u662f\u5426\u4e0e LWS \u76f8\u5173\u3002LWS \u5931\u771f\u67e5\u770b\u5668\u63cf\u8ff0\u4e86\u5931\u771f\u5bf9 API \u7684\u5f71\u54cd\u3002<\/p>\n\n\n\n<p>\u7ed3\u5408\u4f7f\u7528\u8fd9\u4e9b\u5de5\u5177\uff0c\u5e2e\u52a9\u521b\u5efa\u4e0e Lightning Web Security \u4e00\u8d77\u8fd0\u884c\u7684\u5b89\u5168\u4ee3\u7801\u3002<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"install-eslint-rules-for-lightning-web-security\">\u5b89\u88c5 Lightning Web Security \u7684 ESLint \u89c4\u5219<\/h2>\n\n\n\n<p>\u6211\u4eec\u521b\u5efa\u4e86 ESLint \u89c4\u5219\uff0c\u4ee5\u5e2e\u52a9\u60a8\u5f00\u53d1\u9002\u7528\u4e8e Lightning Web Security \u7684\u4ee3\u7801\u3002\u60a8\u53ef\u4ee5\u5c06\u5b83\u4eec\u5b89\u88c5\u5728\u5f00\u53d1\u8ba1\u7b97\u673a\u4e0a\uff0c\u5e76\u5728\u6e90\u4ee3\u7801\u4e0a\u8fd0\u884c\u5b83\u4eec\u3002<\/p>\n\n\n\n<p>ESLint \u89c4\u5219\u4ee5 npm \u5305\u7684\u5f62\u5f0f\u63d0\u4f9b\uff0c\u60a8\u53ef\u4ee5\u5c06\u5176\u5b89\u88c5\u5728\u672c\u5730\u7cfb\u7edf\u4e0a\uff0c\u5e76\u5728 IDE \u6216\u547d\u4ee4\u884c\u4e2d\u4f7f\u7528\u3002<\/p>\n\n\n\n<p>ESLint \u89c4\u5219\u8bb0\u5f55\u5728\u6b64&nbsp;GitHub \u5b58\u50a8\u5e93\u4e2d\u3002<\/p>\n\n\n\n<p>\u6ce8\u610f<\/p>\n\n\n\n<p>\u65b0\u67b6\u6784\u662f\u5728\u54c1\u724c\u66f4\u6539\u4e3a Lightning Web Security \u4e4b\u524d\u4ee5 Locker \u540d\u79f0\u5f00\u53d1\u7684\u3002\u60a8\u53ef\u4ee5\u5728\u4ee3\u7801\u548c npm \u5305\u540d\u79f0\u4e2d\u770b\u5230 used\u3002\u4f46\u662f\uff0clint \u89c4\u5219\u652f\u6301 Lightning Web Security\uff0c\u800c\u4e0d\u662f\u5f53\u524d\u7684 Lightning Locker\u3002<code>locker<\/code><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u6dfb\u52a0\u5bf9 Lightning Web Security \u7684 ESLint \u652f\u6301<\/h2>\n\n\n\n<ol class=\"wp-block-list\">\n<li>\u5728\u5f00\u53d1\u7cfb\u7edf\u4e0a\uff0c\u6253\u5f00\u9879\u76ee\u76ee\u5f55\u4e2d\u7684\u7ec8\u7aef\u7a97\u53e3\u3002<\/li>\n\n\n\n<li>\u5b89\u88c5\u8282\u70b9\u9879\u76ee\u4f9d\u8d56\u9879\u3002<code>$ npm install<\/code><\/li>\n\n\n\n<li>\u4ece&nbsp;https:\/\/www.npmjs.com\/package\/@locker\/eslint-config-locker&nbsp;\u5b89\u88c5 ESLint \u89c4\u5219\u548c\u914d\u7f6e\u3002<code>$ npm install --save-dev eslint @locker\/eslint-config-locker<\/code><\/li>\n\n\n\n<li>\u6dfb\u52a0\u5230\u9879\u76ee\u4e2d\u7684\u5c5e\u6027\u3002\u9ed8\u8ba4\u60c5\u51b5\u4e0b\uff0c\u6b64\u6587\u4ef6\u4f4d\u4e8e\u76ee\u5f55\u4e2d\u3002<code>@locker\/eslint-config-locker<\/code><code>extends<\/code><code>.eslintrc<\/code><code>force-app\/main\/default\/lwc<\/code>\u6b64\u884c\u914d\u7f6e ESLint \u89c4\u5219\uff0c\u5176\u4e2d\u4ec5\u5305\u542b\u9519\u8bef\u3002<code>base<\/code><code>{ \"extends\": [ \"eslint:recommended\", \"@salesforce\/eslint-config-lwc\/recommended\", \"@locker\/eslint-config-locker\" ] }<\/code><\/li>\n\n\n\n<li>\u5982\u679c\u9664\u4e86\u9519\u8bef\u4e4b\u5916\u8fd8\u5e0c\u671b\u6536\u5230\u8b66\u544a\u901a\u77e5\uff0c\u8bf7\u4f7f\u7528 .ESLint \u8b66\u544a\u6709\u52a9\u4e8e\u8c03\u8bd5\u7279\u5b9a\u95ee\u9898\uff0c\u4f46\u4f1a\u751f\u6210\u65e5\u5e38\u4f7f\u7528\u4e0d\u9700\u8981\u7684\u989d\u5916\u4fe1\u606f\u3002<code>recommended<\/code><code>.eslintrc<\/code><code>{ \"extends\": [ \"eslint:recommended\", \"@salesforce\/eslint-config-lwc\/recommended\", \"@locker\/eslint-config-locker\/recommended\" ] }<\/code><\/li>\n\n\n\n<li>\u5982\u679c\u60a8\u6b63\u5728\u5f00\u53d1\u7528\u4f5c\u9759\u6001\u8d44\u6e90\u7684 Aura \u7ec4\u4ef6\u6216\u4ee3\u7801\uff0c\u8bf7\u6dfb\u52a0\u914d\u7f6e\u3002<code>uncompiled<\/code><code>{ \"extends\": [ \"eslint:recommended\", \"@salesforce\/eslint-config-lwc\/recommended\", \"@locker\/eslint-config-locker\/recommended\", \"@locker\/eslint-config-locker\/uncompiled\" ] }<\/code><\/li>\n<\/ol>\n\n\n\n<p>\u6ce8\u610f<\/p>\n\n\n\n<p>\u5f53\u60a8\u7684\u7ec4\u7ec7\u5347\u7ea7\u5230\u65b0\u7684 Salesforce \u7248\u672c\u65f6\uff0c\u8bf7\u8fd0\u884c\uff0c\u4ee5\u4fbf\u60a8\u7684 ESLint \u89c4\u5219\u4e0e\u8be5\u7248\u672c\u4e2d\u7684 LWS \u5931\u771f\u76f8\u5339\u914d\u3002\u6709\u5173\u7248\u672c\u4e2d\u6dfb\u52a0\u7684\u5931\u771f\u5217\u8868\uff0c\u8bf7\u53c2\u9605&nbsp;Salesforce \u53d1\u884c\u8bf4\u660e\u3002<code>npm update<\/code><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u5728 VS Code \u4e2d\u4f7f\u7528 ESLint \u89c4\u5219<\/h2>\n\n\n\n<p>Salesforce \u5efa\u8bae\u5c06 Visual Studio Code \u4e0e&nbsp;Salesforce Extensions for Visual Studio Code&nbsp;\u7ed3\u5408\u4f7f\u7528\u6765\u5f00\u53d1 Lightning Web \u7ec4\u4ef6\u3002\u9488\u5bf9 Lightning Web Security \u7684\u9519\u8bef\u7684 ESLint \u89c4\u5219\u663e\u793a\u5728 VS Code \u4e2d\uff0c\u60a8\u7684\u4ee3\u7801\u8fdd\u53cd\u4e86\u8fd9\u4e9b\u89c4\u5219\u3002\u8fd9\u4e9b\u89c4\u5219\u6620\u5c04\u5230\u5f71\u54cd\u4ee3\u7801\u7684\u626d\u66f2\u3002\u89c4\u5219\u51b2\u7a81\u7684\u5f39\u51fa\u7a97\u53e3\u5305\u62ec\u6307\u5411\u89c4\u5219\u6587\u6863\u7684\u94fe\u63a5\u3002<\/p>\n\n\n\n<p>\u5728\u8fd9\u91cc\uff0c\u60a8\u53ef\u4ee5\u770b\u5230 lint \u89c4\u5219\u51b2\u7a81\u7684\u5f39\u51fa\u7a97\u53e3\uff0c\u4ee5\u53ca\u6307\u5411\u76f8\u5173\u89c4\u5219\u6587\u6863\u7684\u94fe\u63a5\u3002<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"469\" src=\"http:\/\/www.ponybai.com\/wp-content\/uploads\/2023\/12\/lwsec_lint_popup.png\" alt=\"\" class=\"wp-image-3897\" srcset=\"http:\/\/www.ponybai.com\/wp-content\/uploads\/2023\/12\/lwsec_lint_popup.png 800w, http:\/\/www.ponybai.com\/wp-content\/uploads\/2023\/12\/lwsec_lint_popup-300x176.png 300w, http:\/\/www.ponybai.com\/wp-content\/uploads\/2023\/12\/lwsec_lint_popup-768x450.png 768w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/><\/figure>\n\n\n\n<p>\u6b64\u5f39\u51fa\u7a97\u53e3\u663e\u793a lint \u8b66\u544a\uff0c\u800c\u4e0d\u662f\u9519\u8bef\u3002<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u9488\u5bf9\u9879\u76ee\u8fd0\u884c\u57fa\u672c\u89c4\u5219<\/h2>\n\n\n\n<ol class=\"wp-block-list\">\n<li>\u5b89\u88c5 ESLint \u89c4\u5219\u548c\u914d\u7f6e\uff0c\u5982<strong>\u6dfb\u52a0 ESLint \u5bf9 Lightning Web \u5b89\u5168<\/strong>\u7684\u652f\u6301\u90e8\u5206\u6240\u8ff0\u3002<\/li>\n\n\n\n<li>\u8fd0\u884c\u5e38\u7528\u547d\u4ee4\u4ee5\u5bf9\u4ee3\u7801\u8fdb\u884c lint \u68c0\u67e5\u3002\u5982\u679c\u60a8\u4f7f\u7528\u7684\u662f Salesforce DX \u9879\u76ee\uff0c\u8bf7\u8fd0\u884c\u9002\u5408\u60a8\u73af\u5883\u7684\u547d\u4ee4\u3002<code>npm<\/code><code>yarn<\/code><code>$ npm run lint<\/code>\u6216<code>$ yarn lint<\/code>\u5982\u679c\u60a8\u4f7f\u7528\u7684\u4e0d\u662f Salesforce DX \u9879\u76ee\uff0c\u5219\u53ef\u4ee5\u5728 LWC \u7ec4\u4ef6\u4e0a\u8fd0\u884c\u8be5\u547d\u4ee4\u3002\u4f8b\u5982\uff0c\u5982\u679c\u60a8\u7684\u7ec4\u4ef6\u5305\u542b\u5728\u6587\u4ef6\u5939\u4e2d\uff1a<code>eslint<\/code><code>lwc<\/code><code>$ eslint **\/lwc\/**<\/code>\u65e0\u8bba\u54ea\u79cd\u60c5\u51b5\uff0c\u8f93\u51fa\u90fd\u7c7b\u4f3c\u4e8e\u6b64\u793a\u4f8b\u3002<code>10:16 error Document#fullscreen is prohibited in Lightning Locker @locker\/locker\/distorted-document-blocked-properties \u2716 1 problem (1 error, 0 warnings) error Command failed with exit code 1.<\/code><\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"evaluate-javascript-in-lightning-web-security-console\">\u5728 Lightning Web Security \u63a7\u5236\u53f0\u4e2d\u8bc4\u4f30 JavaScript<\/h2>\n\n\n\n<p>\u5728 Lightning Web Security Console \u4e2d\u8bc4\u4f30\u60a8\u7684\u4ee3\u7801\uff0c\u56e0\u4e3a\u5b83\u5728\u542f\u7528\u548c\u7981\u7528 LWS \u7684\u60c5\u51b5\u4e0b\u8fd0\u884c\u3002\u6b64\u5de5\u5177\u53ef\u4ee5\u5e2e\u52a9\u60a8\u786e\u5b9a JavaScript \u4ee3\u7801\u7684\u95ee\u9898\u662f\u5426\u4e0e\u5176\u4e0e LWS \u7684\u4ea4\u4e92\u6709\u5173\u3002<\/p>\n\n\n\n<p>Lightning Web Security \u63a7\u5236\u53f0\u53ef\u4ece\u7ec4\u4ef6\u5e93\u5bfc\u822a\u680f\u8bbf\u95ee\u3002<\/p>\n\n\n\n<p>\u4ee5\u4e0b\u662f\u8be5\u5de5\u5177\u7684\u76f4\u63a5\u94fe\u63a5\uff1ahttps:\/\/developer.salesforce.com\/docs\/component-library\/tools\/lws-console<\/p>\n\n\n\n<p>Lightning Web Security \u63a7\u5236\u53f0\u6a21\u62df\u5728 Salesforce \u7ec4\u7ec7\u4e2d\u8fd0\u884c\u7684 LWS \u7684\u884c\u4e3a\u3002\u63a7\u5236\u53f0\u63d0\u4f9b\u4e86\u4e00\u4e2a\u4f7f\u7528 LWS \u6267\u884c\u4ee3\u7801\u7684\u73af\u5883\uff0c\u56e0\u6b64\u60a8\u53ef\u4ee5\u5728\u5f00\u53d1\u7ec4\u4ef6\u7684 JavaScript \u65f6\u8fdb\u884c\u5feb\u901f\u68c0\u67e5\u3002\u4f46\u662f\uff0c\u63a7\u5236\u53f0\u65e0\u6cd5\u521b\u5efa\u7ec4\u7ec7\u7684\u5b8c\u6574\u6267\u884c\u73af\u5883\uff0c\u56e0\u6b64\u5728\u751f\u4ea7\u4e2d\u4f7f\u7528\u7ec4\u4ef6\u4e4b\u524d\uff0c\u60a8\u4ecd\u5fc5\u987b\u5728\u6c99\u76d2\u7ec4\u7ec7\u4e2d\u6267\u884c\u529f\u80fd\u6d4b\u8bd5\u3002<\/p>\n\n\n\n<p>\u6ce8\u610f<\/p>\n\n\n\n<p>\u63a7\u5236\u53f0\u4e0d\u4f1a\u8bc4\u4f30\u5305\u542b or \u8bed\u53e5\u6216 LWC \u88c5\u9970\u5668\uff08\u5982 \u548c \uff09\u7684 JavaScript \u6a21\u5757\u3002\u8be5\u5de5\u5177\u4ec5\u7528\u4e8e\u8bc4\u4f30\u7eaf JavaScript\u3002<code>import<\/code><code>export<\/code><code>@api<\/code><code>@wire<\/code><\/p>\n\n\n\n<p>\u4ee5\u4e0b\u662f Lightning Web Security \u63a7\u5236\u53f0\u5de5\u5177\u7528\u6237\u754c\u9762\u7684\u6982\u8ff0\u3002<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"293\" src=\"http:\/\/www.ponybai.com\/wp-content\/uploads\/2023\/12\/lws-console-callouts.png\" alt=\"\" class=\"wp-image-3898\" srcset=\"http:\/\/www.ponybai.com\/wp-content\/uploads\/2023\/12\/lws-console-callouts.png 800w, http:\/\/www.ponybai.com\/wp-content\/uploads\/2023\/12\/lws-console-callouts-300x110.png 300w, http:\/\/www.ponybai.com\/wp-content\/uploads\/2023\/12\/lws-console-callouts-768x281.png 768w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/><\/figure>\n\n\n\n<p>\u4ee3\u7801\u63a7\u5236\u53f0 \uff081\uff09<\/p>\n\n\n\n<p>\u5728\u6b64\u5904\u7c98\u8d34\u6216\u952e\u5165 JavaScript \u4ee3\u7801\u4ee5\u5bf9\u5176\u8fdb\u884c\u8bc4\u4f30\u3002\u52a8\u4f5c \uff082\uff09<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u542f\u7528\u6216\u7981\u7528 LWS\u3002<\/li>\n\n\n\n<li>\u5355\u51fb\u201c<strong>\u8bc4\u4f30<\/strong>\u201d\u4ee5\u8fd0\u884c\u4ee3\u7801\u63a7\u5236\u53f0\u4e2d\u663e\u793a\u7684\u4ee3\u7801\u3002<\/li>\n\n\n\n<li>\u5355\u51fb<strong>\u201c<\/strong>\u6e05\u9664\u201d\u4ee5\u6e05\u9664\u7ed3\u679c\uff0c\u4f46\u4e0d\u6e05\u9664\u4ee3\u7801\u3002<\/li>\n\n\n\n<li>\u9009\u62e9&nbsp;<strong>LWC<\/strong>&nbsp;\u6216&nbsp;<strong>Aura<\/strong>\uff0c\u5177\u4f53\u53d6\u51b3\u4e8e\u4f7f\u7528 JavaScript \u7684\u7ec4\u4ef6\u7c7b\u578b\u3002LWS \u5bf9 Aura \u7ec4\u4ef6\u548c Lightning Web \u7ec4\u4ef6\u5e94\u7528\u7c7b\u4f3c\u7684\u5931\u771f\u3002\u4f46\u662f\uff0c\u7ec4\u4ef6\u7c7b\u578b\u7684\u8fd0\u884c\u65f6\u73af\u5883\u4e0d\u540c\uff0c\u8fd9\u53ef\u80fd\u4f1a\u5bfc\u81f4 LWS \u963b\u6b62 LWC \u4e2d\u5141\u8bb8\u7684 Aura \u7ec4\u4ef6\u4e2d\u7684\u67d0\u4e9b\u5c5e\u6027\u3002<\/li>\n<\/ul>\n\n\n\n<p>\u8bc4\u4ef7\u7ed3\u679c \uff083\uff09<\/p>\n\n\n\n<p>\u663e\u793a LWS \u8bc4\u4f30\u7684\u7ed3\u679c\uff0c\u5305\u62ec\u5931\u771f\u8fd4\u56de\u7684\u9519\u8bef\u6d88\u606f\u3002\u68c9\u7ed2\u7ed3\u679c \uff084\uff09<\/p>\n\n\n\n<p>\u663e\u793a\u5728\u8bc4\u4f30\u671f\u95f4\u89e6\u53d1\u7684 LWS ESLint \u89c4\u5219\u3002<\/p>\n\n\n\n<p>\u5f53\u60a8\u5355\u51fb<strong>\u201c\u8bc4\u4f30<\/strong>\u201d\u65f6\uff0cLightning Web Security \u63a7\u5236\u53f0\u5c06\u8bbe\u7f6e\u6267\u884c\u73af\u5883\uff0c\u7136\u540e\u5728\u6d4f\u89c8\u5668\u7684 JavaScript \u6c99\u76d2\u73af\u5883\u4e2d\u8fd0\u884c\u4ee3\u7801\u3002\u8fd0\u884c\u4ee3\u7801\u65f6\u51fa\u73b0\u7684\u4efb\u4f55\u9519\u8bef\u90fd\u4f1a\u663e\u793a\u5728\u53f3\u4e0a\u65b9\u7684\u9762\u677f\u4e2d\u3002\u5426\u5219\uff0c\u8be5\u5de5\u5177\u5c06\u62a5\u544a\u201c\u6210\u529f\u201d\u3002<\/p>\n\n\n\n<p>\u63d0\u793a<\/p>\n\n\n\n<p>\u5982\u679c\u5931\u771f\u6548\u679c\u662f\u4f7f\u4ee3\u7801\u80fd\u591f\u5728\u6c99\u76d2\u4e2d\u5b89\u5168\u8fd0\u884c\uff0c\u5219\u8be5\u5de5\u5177\u4f1a\u62a5\u544a\u201c\u6210\u529f\u201d\uff0c\u5e76\u4e14\u4e0d\u6307\u793a\u5e94\u7528\u4e86\u5931\u771f\u3002\u5982\u679c\u5931\u771f\u963b\u6b62\u4ee3\u7801\u6267\u884c\uff0c\u8be5\u5de5\u5177\u5c06\u62a5\u544a\u5931\u771f\u751f\u6210\u7684\u9519\u8bef\u3002<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"look-up-distortion-details-in-lws-distortion-viewer\">\u5728 LWS \u5931\u771f\u67e5\u770b\u5668\u4e2d\u67e5\u627e\u5931\u771f\u7ec6\u8282<\/h2>\n\n\n\n<p>LWS \u5c06\u5931\u771f\u5e94\u7528\u4e8e\u5728 JavaScript \u6c99\u76d2\u4e2d\u8fd0\u884c\u7684\u4ee3\u7801\uff0c\u4ee5\u5e2e\u52a9\u9632\u6b62\u4e0d\u5b89\u5168\u7684\u884c\u4e3a\u3002LWS Distortion Viewer \u901a\u8fc7\u89e3\u91ca\u53d7\u5f71\u54cd API \u7684\u6f0f\u6d1e\u4ee5\u53ca\u7f13\u89e3\u6f0f\u6d1e\u7684\u626d\u66f2\u884c\u4e3a\u6765\u63cf\u8ff0\u5931\u771f\u3002\u6b64\u5de5\u5177\u53ef\u4ee5\u5e2e\u52a9\u60a8\u4e86\u89e3\u5982\u4f55\u4fee\u6539 JavaScript \u4ee3\u7801\uff0c\u4ee5\u907f\u514d\u5f71\u54cd\u7ec4\u4ef6\u7684\u5931\u771f\u3002<\/p>\n\n\n\n<p>LWS \u5931\u771f\u67e5\u770b\u5668\u663e\u793a\u88ab Lightning Web Security \u963b\u6b62\u6216\u4fee\u6539\u7684 JavaScript API\u3002\u5982\u679c\u6b64\u5904\u672a\u5217\u51fa API\uff0c\u5219 LWS \u5141\u8bb8 API \u7684\u672c\u673a\u884c\u4e3a\u3002\u6709\u5173\u5931\u771f\u7684\u66f4\u591a\u4fe1\u606f\uff0c\u8bf7\u53c2\u9605&nbsp;Lightning Web Security \u7684\u5de5\u4f5c\u539f\u7406\u3002<\/p>\n\n\n\n<p>LWS \u5931\u771f\u67e5\u770b\u5668\u53ef\u4ece\u7ec4\u4ef6\u5e93\u5bfc\u822a\u680f\u83b7\u5f97\u3002<\/p>\n\n\n\n<p>\u4ee5\u4e0b\u662f\u8be5\u5de5\u5177\u7684\u76f4\u63a5\u94fe\u63a5\uff1ahttps:\/\/developer.salesforce.com\/docs\/component-library\/tools\/lws-distortion-viewer\u3002<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"557\" src=\"http:\/\/www.ponybai.com\/wp-content\/uploads\/2023\/12\/lws-distortion-viewer.png\" alt=\"\" class=\"wp-image-3899\" srcset=\"http:\/\/www.ponybai.com\/wp-content\/uploads\/2023\/12\/lws-distortion-viewer.png 800w, http:\/\/www.ponybai.com\/wp-content\/uploads\/2023\/12\/lws-distortion-viewer-300x209.png 300w, http:\/\/www.ponybai.com\/wp-content\/uploads\/2023\/12\/lws-distortion-viewer-768x535.png 768w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/><\/figure>\n\n\n\n<p>LWS Distortion Viewer \u6309\u5bf9\u8c61\u540d\u79f0\u7684\u5b57\u6bcd\u987a\u5e8f\u5217\u51fa JavaScript API \u7684\u5931\u771f\uff0c\u4ee5\u53ca\u6307\u793a\u5bf9\u8c61\u5931\u771f\u7684 API \u6570\u91cf\u7684\u6570\u5b57\u3002\u5355\u51fb\u5de6\u4fa7\u9762\u677f\u4e2d\u7684\u5bf9\u8c61\uff0c\u7136\u540e\u5355\u51fb\u53f3\u4fa7\u9762\u677f\u4e2d\u7684 API \u4ee5\u67e5\u770b\u6709\u5173 API \u5931\u771f\u7684\u4fe1\u606f\u3002<\/p>\n\n\n\n<p>\u63d0\u793a<\/p>\n\n\n\n<p>\u6709\u5173\u5728\u5e94\u7528 LWS \u5931\u771f\u540e\u89e3\u51b3\u4ee3\u7801\u7684\u67d0\u4e9b\u95ee\u9898\u7684\u4fe1\u606f\uff0c\u8bf7\u53c2\u9605\u5728&nbsp;Lightning Web Security \u4e2d\u8fdb\u884c\u6545\u969c\u6392\u9664\u3002<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"workflow-to-try-your-components-with-lightning-web-security\">\u4f7f\u7528 Lightning Web Security \u8bd5\u7528\u7ec4\u4ef6\u7684\u5de5\u4f5c\u6d41\u7a0b<\/h2>\n\n\n\n<p>\u4ee5\u4e0b\u662f\u5efa\u8bae\u7684\u5de5\u4f5c\u6d41\u7a0b\uff0c\u4f9b\u5f00\u53d1\u4eba\u5458\u8bc4\u4f30\u4f7f\u7528 Lightning Web Security \u8fd0\u884c\u7684 Lightning Web \u7ec4\u4ef6\u3002<\/p>\n\n\n\n<p>\u6ce8\u610f<\/p>\n\n\n\n<p>\u5f53\u60a8\u5c1d\u8bd5\u5728 Lightning Web Security \u4e2d\u8fd0\u884c\u7684\u7ec4\u4ef6\u65f6\uff0c\u6211\u4eec\u5efa\u8bae\u60a8\u4ec5\u8fdb\u884c\u4f20\u9012 ESLint \u89c4\u5219\u6240\u9700\u7684\u4ee3\u7801\u66f4\u6539\u3002\u5982\u679c\u60a8\u7684\u7ec4\u4ef6\u5728 LWS \u548c Lightning Locker \u4e2d\u90fd\u80fd\u6b63\u5e38\u5de5\u4f5c\uff0c\u5219\u5728\u51fa\u73b0\u610f\u5916\u95ee\u9898\u65f6\uff0c\u60a8\u53ef\u4ee5\u66f4\u8f7b\u677e\u5730\u5728\u5b83\u4eec\u4e4b\u95f4\u5207\u6362\u3002\u5982\u679c\u91cd\u6784\u7ec4\u4ef6\u4ee5\u5229\u7528\u4ec5\u9650 LWS \u7684\u529f\u80fd\uff0c\u8bf7\u5c06\u5b83\u4eec\u9650\u5236\u5728\u5f00\u53d1\u7ec4\u7ec7\u4e2d\uff0c\u5e76\u4e14\u4e0d\u8981\u5c06\u5b83\u4eec\u63a8\u9001\u5230\u751f\u4ea7\u73af\u5883\u3002\u8bf7\u53c2\u89c1\u4f7f\u7528\u4ec5\u9650 LWS \u7684\u529f\u80fd\u3002<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>\u4e0b\u8f7d\u5e76\u914d\u7f6e ESLint \u89c4\u5219\uff0c\u5982\u5b89\u88c5\u9002\u7528\u4e8e Lightning Web Security \u7684 ESLint \u89c4\u5219\u4e2d\u6240\u8ff0\u3002<\/li>\n\n\n\n<li>\u9488\u5bf9\u7ec4\u4ef6\u8fd0\u884c\u57fa\u672c\u89c4\u5219\u96c6\uff0c\u5982\u9488\u5bf9\u9879\u76ee\u8fd0\u884c\u57fa\u672c\u89c4\u5219\u4e2d\u6240\u8ff0\u3002<\/li>\n\n\n\n<li>\u4fee\u590d\u57fa\u672c ESLint \u89c4\u5219\u663e\u793a\u7684\u4efb\u4f55\u9519\u8bef\u3002<\/li>\n\n\n\n<li>\u4fee\u590d\u9519\u8bef\u65f6\uff0c\u8bf7\u5c1d\u8bd5\u5728&nbsp;Lightning Web Security \u63a7\u5236\u53f0\u4e2d\u4fee\u6539\u540e\u7684\u4ee3\u7801\uff0c\u770b\u770b\u5b83\u662f\u5426\u53ef\u4ee5\u4e0e LWS \u4e00\u8d77\u8fd0\u884c\u3002<\/li>\n\n\n\n<li>\u5982\u679c\u60a8\u7684\u4ee3\u7801\u53d7\u5230\u5931\u771f\u7684\u5f71\u54cd\uff0c\u8bf7\u67e5\u770b&nbsp;LWS \u5931\u771f\u67e5\u770b\u5668\u4e2d\u7684\u5931\u771f\u63cf\u8ff0\uff0c\u4ee5\u5e2e\u52a9\u7406\u89e3\u8fd9\u4e9b\u95ee\u9898\u3002<\/li>\n\n\n\n<li>\u4fee\u590d linting \u9519\u8bef\u540e\uff0c\u8bf7\u4e3a\u6c99\u76d2\u7ec4\u7ec7\u4e2d\u7684 Lightning Web \u7ec4\u4ef6<strong>\u548c Aura \u7ec4\u4ef6\u542f\u7528\u4f7f\u7528<\/strong>&nbsp;Lightning Web Security\uff0c\u5982\u5728\u7ec4\u7ec7\u4e2d\u542f\u7528 Lightning Web Security&nbsp;\u4e2d\u6240\u8ff0\u3002<\/li>\n\n\n\n<li>\u5c06\u7ec4\u4ef6\u90e8\u7f72\u5230\u6c99\u76d2\u7ec4\u7ec7\u3002<\/li>\n\n\n\n<li>\u624b\u52a8\u6d4b\u8bd5\u7ec4\u4ef6\uff0c\u4e5f\u53ef\u4ee5\u901a\u8fc7\u8fd0\u884c\u81ea\u52a8\u6d4b\u8bd5\u6765\u6d4b\u8bd5\u7ec4\u4ef6\u3002<\/li>\n\n\n\n<li>\u5982\u679c\u53d1\u73b0\u4efb\u4f55\u5f02\u5e38\u884c\u4e3a\u6216\u6d4b\u8bd5\u7ed3\u679c\uff0c\u8bf7\u5c1d\u8bd5\u5728\u7ec4\u4ef6\u4ee3\u7801\u4e0a\u8fd0\u884c\u89c4\u5219\u96c6\u4ee5\u8c03\u8bd5\u4efb\u4f55\u5176\u4ed6\u95ee\u9898\u3002\u5982\u679c\u60a8\u5728 Lightning Web Security \u63a7\u5236\u53f0\u4e2d\u8fd0\u884c\u4ee3\u7801\uff0c\u5219\u53ef\u4ee5\u8df3\u8fc7\u6b64\u6b65\u9aa4\u3002\u8be5\u5de5\u5177\u8fd0\u884c\u4e24\u7ec4 ESLint \u89c4\u5219\u3002<code>recommended<\/code><\/li>\n\n\n\n<li>\u5982\u679c\u60a8\u7684\u7ec4\u4ef6\u5728\u542f\u7528 Lightning Web Security \u7684\u60c5\u51b5\u4e0b\u65e0\u6cd5\u6b63\u5e38\u8fd0\u884c\uff0c\u6216\u8005\u60a8\u65e0\u6cd5\u4fee\u590d ESLint \u9519\u8bef\uff0c\u8bf7\u8f6c\u5230 Trailhead \u4e0a\u7684&nbsp;Lightning \u7ec4\u4ef6\u5f00\u53d1\u7ec4\u8fdb\u884c\u8ba8\u8bba\u3002<\/li>\n\n\n\n<li>\u5982\u679c\u60a8\u4fee\u6539\u4e86\u7ec4\u4ef6\u4ee5\u901a\u8fc7 ESLint \u89c4\u5219\uff0c\u5e76\u4e14\u5b83\u4eec\u73b0\u5728\u8868\u73b0\u826f\u597d\u5e76\u5728\u6c99\u76d2\u4e2d\u901a\u8fc7\u4e86\u6d4b\u8bd5\uff0c\u8bf7\u5173\u95ed\u5bf9\u6c99\u76d2\u7ec4\u7ec7\u4e2d\u7684 Lightning Web \u7ec4\u4ef6<strong>\u548c Aura \u7ec4\u4ef6\u4f7f\u7528 Lightning Web Security<\/strong>\u3002<\/li>\n\n\n\n<li>\u5728\u5f00\u59cb\u6d4b\u8bd5\u4fee\u6539\u540e\u7684\u7ec4\u4ef6\u4e4b\u524d\uff0c\u6e05\u9664\u6d4f\u89c8\u5668\u7f13\u5b58\u4ee5\u786e\u4fdd\u5728\u6d4f\u89c8\u5668\u4e2d\u4e3a Lightning Locker \u52a0\u8f7d\u6b63\u786e\u7684\u6587\u4ef6\u3002\u5982\u679c\u6e05\u9664\u7f13\u5b58\u540e\u7684\u7ed3\u679c\u4e0d\u662f\u9884\u671f\u7684\uff0c\u8bf7\u5c1d\u8bd5\u5ef6\u8fdf\u542f\u7528\u6216\u7981\u7528 LWS&nbsp;\u4e2d\u7684\u5176\u4ed6\u4e0e\u7f13\u5b58\u76f8\u5173\u7684\u89e3\u51b3\u65b9\u6848\u3002<\/li>\n\n\n\n<li>\u5728\u6c99\u76d2\u7ec4\u7ec7\u4e2d\u6d4b\u8bd5\u4fee\u6539\u540e\u7684\u7ec4\u4ef6\uff0c\u4ee5\u786e\u4fdd\u5728\u66f4\u6539\u5b83\u4eec\u4ee5\u4f20\u9012 LWS \u7684 ESLint \u89c4\u5219\u540e\uff0c\u5b83\u4eec\u5728 Lightning Locker \u4e0b\u4ecd\u80fd\u6b63\u5e38\u5de5\u4f5c\u3002\u5982\u679c\u60a8\u7684\u7ec4\u4ef6\u5728\u4e24\u79cd\u5b89\u5168\u4f53\u7cfb\u7ed3\u6784\u4e2d\u90fd\u5de5\u4f5c\uff0c\u5219\u5728\u4ee5\u540e\u51fa\u73b0\u610f\u5916\u95ee\u9898\u65f6\uff0c\u60a8\u53ef\u4ee5\u66f4\u8f7b\u677e\u5730\u5728\u5b83\u4eec\u4e4b\u95f4\u5207\u6362\u3002<\/li>\n\n\n\n<li>\u5f53\u60a8\u786e\u4fe1\u8fd9\u4e9b\u7ec4\u4ef6\u53ef\u4ee5\u4e0e\u6c99\u76d2\u7ec4\u7ec7\u4e2d\u7684 Lightning Locker \u548c Lightning Web Security \u914d\u5408\u4f7f\u7528\u65f6\uff0c\u8bf7\u5c06\u66f4\u6539\u90e8\u7f72\u5230\u751f\u4ea7\u73af\u5883\u4e2d\u3002<\/li>\n\n\n\n<li>\u8bf7\u60a8\u7684 Salesforce \u7ba1\u7406\u5458\u5728\u751f\u4ea7\u73af\u5883\u4e2d\u4e3a Lightning Web \u7ec4\u4ef6<strong>\u548c Aura \u7ec4\u4ef6\u542f\u7528\u4f7f\u7528 Lightning Web Security<\/strong>\u3002<\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"using-lws-only-features\">\u4f7f\u7528\u4ec5\u9650 LWS \u7684\u529f\u80fd<\/h2>\n\n\n\n<p>\u5728\u5168\u9762\u91c7\u7528 Lightning Web Security \u4e4b\u524d\uff0c\u8bf7\u8bb0\u4f4f\uff0c\u542f\u7528\u540e\uff0c\u7ec4\u7ec7\u4e2d\u7684\u6240\u6709\u81ea\u5b9a\u4e49 Lightning \u7ec4\u4ef6\u90fd\u4f1a\u53d7\u5230\u5f71\u54cd\u3002\u6240\u6709\u81ea\u5b9a\u4e49\u7ec4\u4ef6\u90fd\u5728\u65b0\u4f53\u7cfb\u7ed3\u6784\u4e2d\u8fd0\u884c\u3002<\/p>\n\n\n\n<p>Lightning Web Security \u65e0\u6cd5\u5728\u5355\u4e2a\u7ec4\u4ef6\u4e0a\u7981\u7528\uff0c\u5e76\u4e14\u4e0d\u4e0e API \u7248\u672c\u5173\u8054\u3002<\/p>\n\n\n\n<p>\u5047\u8bbe\u60a8\u91cd\u6784\u4e86\u4e00\u4e2a\u7ec4\u4ef6\u4ee5\u5229\u7528&nbsp;Lightning Web Security \u4e0e Lightning Locker \u7684\u6bd4\u8f83\u4e2d\u63cf\u8ff0\u7684\u4ec5\u9650 LWS \u7684\u529f\u80fd\uff0c\u4f8b\u5982\u4ece\u53e6\u4e00\u4e2a\u547d\u540d\u7a7a\u95f4\u5bfc\u5165\u6a21\u5757\u3002\u8be5\u66f4\u6539\u4e0e Lightning Locker \u4e0d\u517c\u5bb9\uff0c\u56e0\u6b64\u8be5\u7ec4\u4ef6\u73b0\u5728\u4f9d\u8d56\u4e8e Lightning Web Security\u3002<\/p>\n\n\n\n<p>\u5982\u679c\u540e\u6765\u53d1\u73b0\u53e6\u4e00\u4e2a\u7ec4\u4ef6\u5728\u8fd0\u884c LWS \u65f6\u51fa\u73b0\u95ee\u9898\uff0c\u5219\u65e0\u6cd5\u901a\u8fc7\u8fd4\u56de Lightning Locker \u6765\u89e3\u51b3\u95ee\u9898\uff0c\u56e0\u4e3a\u91cd\u6784\u7684\u7ec4\u4ef6\u4f7f\u7528\u9700\u8981 LWS \u7684\u529f\u80fd\u3002<\/p>\n\n\n\n<p>\u8b66\u544a<\/p>\n\n\n\n<p>\u5728\u751f\u4ea7\u7ec4\u7ec7\u4e2d\u542f\u7528\u6240\u6709 Lightning \u7ec4\u4ef6\u4e4b\u524d\uff0c\u8bf7\u786e\u4fdd\u6240\u6709 Lightning \u7ec4\u4ef6\u90fd\u5df2\u51c6\u5907\u597d\u5728 LWS \u4e2d\u8fd0\u884c\u3002<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"debug-with-lws-enabled\">\u542f\u7528 LWS \u8fdb\u884c\u8c03\u8bd5<\/h2>\n\n\n\n<p>\u8981\u5728\u542f\u7528\u4e86 LWS \u7684\u7ec4\u7ec7\u4e2d\u8c03\u8bd5 Lightning \u7ec4\u4ef6\u4ee3\u7801\uff0c\u8bf7\u4f7f\u7528 Chrome DevTools\u3002<\/p>\n\n\n\n<p>\u5bf9\u4e8e Lightning Web \u7ec4\u4ef6\uff0c\u8bf7\u4f7f\u7528\u8c03\u8bd5 Lightning Web \u7ec4\u4ef6\u4e2d\u63cf\u8ff0\u7684\u6280\u672f\u3002<\/p>\n\n\n\n<p>\u6709\u5173\u542f\u7528 LWS \u65f6\u8c03\u8bd5\u5dee\u5f02\u7684\u4fe1\u606f\uff0c\u8bf7\u53c2\u9605\u8c03\u8bd5\u542f\u7528\u4e86 LWS \u7684\u7ec4\u7ec7\u4e2d\u7684\u7ec4\u4ef6\u3002<\/p>\n\n\n\n<p>\u6709\u5173\u542f\u7528 LWS \u65f6\u8c03\u8bd5\u4e2d\u7684\u4e00\u4e9b\u5df2\u77e5\u9650\u5236\u7684\u4fe1\u606f\uff0c\u8bf7\u53c2\u9605\u542f\u7528 LWS \u65f6\u8fdb\u884c\u8c03\u8bd5\u7684\u9650\u5236\u3002<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"limitations-for-debugging-with-lws-enabled\">\u542f\u7528 LWS \u65f6\u8fdb\u884c\u8c03\u8bd5\u7684\u9650\u5236<\/h2>\n\n\n\n<p>\u542f\u7528 LWS \u65f6\u7684\u8c03\u8bd5\u4f53\u9a8c\u4f1a\u53d7\u5230\u6d4f\u89c8\u5668\u9650\u5236\u7684\u5f71\u54cd\u3002\u53ea\u6709\u5f53\u6d4f\u89c8\u5668\u4f9b\u5e94\u5546\u5b9e\u65bd\u4fee\u590d\u7a0b\u5e8f\u5e76\u91c7\u7528\u65b0\u6807\u51c6\u65f6\uff0c\u624d\u80fd\u89e3\u51b3\u8fd9\u4e9b\u9650\u5236\u3002Salesforce\u6b63\u5728\u4e0e\u4f9b\u5e94\u5546\u5408\u4f5c\u3002<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u542f\u7528\u8c03\u8bd5\u6a21\u5f0f\u65f6\uff0c\u65e0\u6cd5\u91cd\u73b0\u5728\u751f\u4ea7\u6a21\u5f0f\u4e0b\u9047\u5230\u7684\u67d0\u4e9b\u95ee\u9898\u3002<\/li>\n\n\n\n<li>\u542f\u7528 LWS \u65f6\uff0c\u67d0\u4e9b Aura \u9519\u8bef\u4e0d\u4f1a\u663e\u793a\u3002<\/li>\n\n\n\n<li>\u63a7\u5236\u53f0\u6d88\u606f\u4e2d\u5f15\u7528\u7684\u6e90\u4ee3\u7801\u884c\u53f7\u548c\u6e90\u4ee3\u7801\u6587\u4ef6\u4e0d\u6b63\u786e\u3002<\/li>\n\n\n\n<li>\u6700\u65b0\u7248\u672c\u7684 Firefox \u6709\u65f6\u5728\u542f\u7528 LWS \u65f6\u4e0d\u4f1a\u9047\u5230\u65ad\u70b9\u3002\u4f7f\u7528\u63a8\u8350\u7684 Chrome DevTools\u3002<\/li>\n\n\n\n<li>\u67d0\u4e9b\u6d4f\u89c8\u5668\u6269\u5c55\u548c\u63d2\u4ef6\u53ef\u80fd\u4f1a\u5e72\u6270\u8c03\u8bd5\u3002\u5982\u679c\u9047\u5230\u95ee\u9898\uff0c\u8bf7\u5c1d\u8bd5\u7981\u7528\u5b83\u4eec\u3002<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"troubleshoot-in-lightning-web-security\">Lightning Web Security \u4e2d\u7684\u6545\u969c\u6392\u9664<\/h2>\n\n\n\n<p>\u5f00\u53d1\u4eba\u5458\u5728\u5f00\u53d1\u548c\u6d4b\u8bd5\u8981\u5728 LWS \u4e2d\u8fd0\u884c\u7684\u7ec4\u4ef6\u65f6\u53ef\u80fd\u4f1a\u9047\u5230\u4e00\u4e9b\u5e38\u89c1\u95ee\u9898\u3002<\/p>\n\n\n\n<p>\u67e5\u770b\u60a8\u7684\u95ee\u9898\u662f\u5426\u5df2\u5728\u6b64\u5904\u5f97\u5230\u89e3\u51b3\u3002\u5982\u679c\u60a8\u5c1d\u8bd5\u8fd9\u4e9b\u6545\u969c\u6392\u9664\u6280\u672f\u672a\u6210\u529f\uff0c\u5219\u53ef\u4ee5\u5728\u4e34\u65f6\u7ec4\u7ec7\u4e2d\u7981\u7528 Lightning Web Security&nbsp;\u5e76\u7ee7\u7eed\u8fdb\u884c\u6545\u969c\u6392\u9664\u3002\u6211\u4eec\u5efa\u8bae\u60a8\u5c3d\u5feb\u91cd\u65b0\u542f\u7528 Lightning Web Security\u3002<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"determine-if-lws-is-enabled\">\u786e\u5b9a\u662f\u5426\u542f\u7528\u4e86 LWS<\/h2>\n\n\n\n<p>\u6709\u65f6\uff0c\u53ef\u80fd\u5f88\u96be\u5feb\u901f\u786e\u5b9a\u6b63\u5728\u8fd0\u884c\u7684\u4ee3\u7801\u4e0a\u662f\u5426\u4f7f\u7528\u4e86 LWS\u3002\u4ee5\u4e0b\u662f\u60a8\u53ef\u4ee5\u5c1d\u8bd5\u7684\u4e00\u4e9b\u6280\u672f\u3002<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u6dfb\u52a0\u4ee3\u7801\u4ee5\u89e6\u53d1 LWS \u5931\u771f<\/h2>\n\n\n\n<p>\u5728 Aura \u7ec4\u4ef6\u7684 JavaScript \u4e2d\uff0c\u6dfb\u52a0\u4e00\u4e9b\u89e6\u53d1 LWS \u5931\u771f\u7684\u4ee3\u7801\u3002\u6709\u5173 LWS \u5931\u771f\u7684\u63cf\u8ff0\uff0c\u8bf7\u53c2\u89c1&nbsp;LWS \u5931\u771f\u67e5\u770b\u5668\u3002<\/p>\n\n\n\n<p>\u5c06 Aura \u7ec4\u4ef6\u90e8\u7f72\u5230\u60a8\u7684\u7ec4\u7ec7\u8fdb\u884c\u6d4b\u8bd5\u3002<\/p>\n\n\n\n<p>\u6700\u7b80\u5355\u7684\u65b9\u6cd5\u662f\u68c0\u67e5\u5931\u771f\u8fd4\u56de\u7684\u503c\u3002\u4f8b\u5982\uff0c\u5982\u679c\u6b64\u68c0\u67e5\u8fd4\u56de \uff0c\u5219 LWS \u6b63\u5728\u8fd0\u884c\uff0c\u5e76\u4e14\u7ec4\u7ec7\u4e0d\u4f1a\u4ece LWS for Aura \u4e2d\u6392\u9664\u3002<code>true<\/code><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>navigator.serviceWorker === undefined;<\/code><\/pre>\n\n\n\n<p>\u60a8\u53ef\u4ee5\u5728\u6d4f\u89c8\u5668\u5f00\u53d1\u4eba\u5458\u63a7\u5236\u53f0\u4e2d\u770b\u5230\u9519\u8bef\u3002<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>error: The navigator.serviceWorker getter is distorted by Lightning Web Security.<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">\u5728\u6d4f\u89c8\u5668\u63a7\u5236\u53f0\u4e2d\u68c0\u6d4b LWS<\/h2>\n\n\n\n<p>\u6b64\u65b9\u6cd5\u4f7f\u7528\u73b0\u6709\u7ec4\u4ef6\u4ee3\u7801\uff0c\u65e0\u9700\u4fee\u6539\u3002\u60a8\u53ef\u4ee5\u5728\u751f\u4ea7\u73af\u5883\u4e2d\u8fd0\u884c\u7684\u4ee3\u7801\u4e0a\u4f7f\u7528\u5b83\u3002<\/p>\n\n\n\n<p>\u5728 Chrome DevTools \u4e2d\uff0c\u67e5\u770b\u201c<strong>\u6e90<\/strong>\u201d\u9009\u9879\u5361\u7684\u201c<strong>\u9875\u9762<\/strong>\u201d\u9762\u677f\uff0c\u5e76\u5728\u6587\u4ef6\u5939&nbsp;<em>your-org-domain<\/em>&nbsp;\u6216\u7279\u5b9a\u547d\u540d\u7a7a\u95f4\uff08\u5982\u679c\u4e0d\u4f7f\u7528\u547d\u540d\u7a7a\u95f4\uff09\u4e2d\u627e\u5230\u7ec4\u4ef6 JavaScript \u6587\u4ef6\u3002<code>\/components\/c<\/code><code>c<\/code><\/p>\n\n\n\n<p>\u63d0\u793a<\/p>\n\n\n\n<p>\u4e0d\u8981\u5728\u6587\u4ef6\u5939\u4e2d\u67e5\u627e JavaScript\u3002\u8be5\u6587\u4ef6\u5939\u4f7f\u7528\u6e90\u6620\u5c04\u4ece\u89c6\u56fe\u4e2d\u5220\u9664\u989d\u5916\u7684\u8fd0\u884c\u65f6\u4ee3\u7801\u3002<code>lws<\/code><code>lws<\/code><\/p>\n\n\n\n<p>\u5982\u679c\u60a8\u5728\u8fd0\u884c\u65f6\u7ec4\u4ef6 JS \u4ee3\u7801\u4e2d\u627e\u5230\u8fd9\u4e9b\u5b57\u7b26\u4e32\uff0c\u5219\u7ec4\u7ec7\u6b63\u5728\u4f7f\u7528 LWS \u8fd0\u884c\u3002LWC \u7ec4\u4ef6<\/p>\n\n\n\n<p>\u641c\u7d22\u5b57\u7b26\u4e32<code>sandbox.evaluateInSandbox<\/code><\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"628\" height=\"233\" src=\"http:\/\/www.ponybai.com\/wp-content\/uploads\/2023\/12\/lws_evaluate_in_sandbox.png\" alt=\"\" class=\"wp-image-3900\" srcset=\"http:\/\/www.ponybai.com\/wp-content\/uploads\/2023\/12\/lws_evaluate_in_sandbox.png 628w, http:\/\/www.ponybai.com\/wp-content\/uploads\/2023\/12\/lws_evaluate_in_sandbox-300x111.png 300w\" sizes=\"(max-width: 628px) 100vw, 628px\" \/><\/figure>\n\n\n\n<p>Aura \u7ec4\u4ef6<\/p>\n\n\n\n<p>\u641c\u7d22\u5b57\u7b26\u4e32<code>$A.lockerService.createForDefNext<\/code><\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"642\" height=\"193\" src=\"http:\/\/www.ponybai.com\/wp-content\/uploads\/2023\/12\/lws_locker_service_code.png\" alt=\"\" class=\"wp-image-3901\" srcset=\"http:\/\/www.ponybai.com\/wp-content\/uploads\/2023\/12\/lws_locker_service_code.png 642w, http:\/\/www.ponybai.com\/wp-content\/uploads\/2023\/12\/lws_locker_service_code-300x90.png 300w\" sizes=\"(max-width: 642px) 100vw, 642px\" \/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"delayed-enabling-or-disabling-of-lws\">LWS \u7684\u5ef6\u8fdf\u542f\u7528\u6216\u7981\u7528<\/h2>\n\n\n\n<p>\u5982\u679c\u60a8\u7684\u7ec4\u4ef6\u4f7f\u7528\u7684\u529f\u80fd\u662f Lightning Web Security \u5141\u8bb8\u4f46\u88ab Lightning Locker \u963b\u6b62\u7684\uff0c\u5219\u5728\u542f\u7528 LWS \u540e\u4ecd\u53ef\u963b\u6b62\u8be5\u529f\u80fd\u3002\u5982\u679c\u60a8\u7981\u7528\u4e86 LWS\uff0c\u4f46\u770b\u5230\u5141\u8bb8\u7684\u884c\u4e3a\uff0c\u4f46\u60a8\u5e0c\u671b\u5b83\u88ab Lightning Locker \u963b\u6b62\uff0c\u5219\u53cd\u4e4b\u4ea6\u7136\u3002\u539f\u56e0\u53ef\u80fd\u662f\u60a8\u7684\u6d4f\u89c8\u5668\u7531\u4e8e\u7f13\u5b58\u800c\u4ecd\u5728\u4f7f\u7528\u4ee5\u524d\u7684\u73af\u5883\u3002<\/p>\n\n\n\n<p>\u82e5\u8981\u68c0\u67e5\u4ee3\u7801\u662f\u5426\u4f7f\u7528 LWS \u8fd0\u884c\u7684\u8bc1\u636e\uff0c\u8bf7\u53c2\u9605\u786e\u5b9a\u662f\u5426\u542f\u7528\u4e86 LWS\u3002<\/p>\n\n\n\n<p>\u53ef\u4ee5\u6709\u591a\u79cd\u7c7b\u578b\u7684\u7f13\u5b58\u751f\u6548\u3002\u5bf9\u4e8e\u6700\u7b80\u5355\u7684\u89e3\u51b3\u65b9\u6848\uff0c\u8bf7\u5c1d\u8bd5\u5237\u65b0\u6d4f\u89c8\u5668\u7a97\u53e3\u5e76\u6e05\u9664\u6d4f\u89c8\u5668\u7f13\u5b58\u3002<\/p>\n\n\n\n<p>\u4f46\u662f\uff0c\u6709\u65f6\u8fd9\u4e9b\u63aa\u65bd\u4e0d\u8db3\u4ee5\u83b7\u5f97\u6b63\u786e\u7684\u884c\u4e3a\uff0c\u5c24\u5176\u662f\u5728\u5f00\u53d1\u548c\u6d4b\u8bd5\u65f6\u9891\u7e41\u6253\u5f00\u548c\u5173\u95ed LWS \u65f6\u3002<\/p>\n\n\n\n<p>\u5982\u679c\u95ee\u9898\u4ecd\u7136\u5b58\u5728\uff0c\u8bf7\u5c1d\u8bd5\u6b64\u5904\u6240\u8ff0\u7684\u63aa\u65bd\u3002<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u5728\u6d4f\u89c8\u5668\u4e2d\u7981\u7528\u7f13\u5b58<\/h2>\n\n\n\n<p>\u53d7\u652f\u6301\u7684\u6d4f\u89c8\u5668\u4f7f\u60a8\u80fd\u591f\u5728\u4f7f\u7528\u6d4f\u89c8\u5668\u5f00\u53d1\u4eba\u5458\u5de5\u5177\u65f6\u7981\u7528\u7f13\u5b58\u3002\u5728\u5f00\u53d1\u4eba\u5458\u5de5\u5177\u7a97\u53e3\u7684\u201c\u7f51\u7edc\u201d\u9762\u677f\u4e2d\uff0c\u9009\u4e2d<strong>\u201c\u7981\u7528\u7f13\u5b58<\/strong>\u201d\u590d\u9009\u6846\u3002\u7136\u540e\uff0c\u5f53\u5f00\u53d1\u4eba\u5458\u5de5\u5177\u7a97\u53e3\u6253\u5f00\u65f6\uff0c\u6d4f\u89c8\u5668\u4e0d\u4f1a\u4ece\u7f13\u5b58\u52a0\u8f7d\u3002<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u5728 Salesforce \u4e2d\u7981\u7528\u5b89\u5168\u7f13\u5b58<\/h2>\n\n\n\n<p>\u5728\u6c99\u76d2\u6216 Developer Edition \u7ec4\u7ec7\u4e2d\u8fdb\u884c\u5f00\u53d1\u65f6\uff0c\u7981\u7528\u5b89\u5168\u548c\u6301\u4e45\u7684\u6d4f\u89c8\u5668\u7f13\u5b58\u8bbe\u7f6e\uff0c\u4ee5\u67e5\u770b\u4efb\u4f55\u4ee3\u7801\u66f4\u6539\u7684\u6548\u679c\uff0c\u800c\u65e0\u9700\u6e05\u7a7a\u7f13\u5b58\u3002<\/p>\n\n\n\n<p>\u7f13\u5b58\u8bbe\u7f6e\u901a\u8fc7\u907f\u514d\u4e0e\u670d\u52a1\u5668\u7684\u989d\u5916\u5f80\u8fd4\u6765\u63d0\u9ad8\u9875\u9762\u91cd\u65b0\u52a0\u8f7d\u6027\u80fd\u3002<\/p>\n\n\n\n<p>\u8b66\u544a<\/p>\n\n\n\n<p>\u7981\u7528\u5b89\u5168\u548c\u6301\u4e45\u7684\u6d4f\u89c8\u5668\u7f13\u5b58\u4f1a\u5bf9 Lightning Experience \u7684\u6027\u80fd\u4ea7\u751f\u91cd\u5927\u8d1f\u9762\u5f71\u54cd\u3002\u59cb\u7ec8\u5728\u751f\u4ea7\u7ec4\u7ec7\u4e2d\u542f\u7528\u8be5\u8bbe\u7f6e\u3002<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>\u5728\u201c\u8bbe\u7f6e\u201d\u4e2d\uff0c\u8f93\u5165\u201c\u5feb\u901f\u67e5\u627e\u201d\u6846\uff0c\u7136\u540e\u9009\u62e9<strong>\u201c\u4f1a\u8bdd\u8bbe\u7f6e<\/strong>\u201d\u3002<code>Session<\/code><\/li>\n\n\n\n<li>\u53d6\u6d88\u9009\u4e2d<strong>\u201c\u542f\u7528\u5b89\u5168\u4e14\u6301\u4e45\u7684\u6d4f\u89c8\u5668\u7f13\u5b58\u4ee5\u63d0\u9ad8\u6027\u80fd<\/strong>\u201d\u590d\u9009\u6846\u3002<\/li>\n\n\n\n<li>\u70b9\u51fb<strong>\u4fdd\u5b58<\/strong>\u3002<\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"properties-evaluate-as-undefined-in-lws\">\u5c5e\u6027\u8bc4\u4f30\u4e0e LWS \u76f8\u540c<code>undefined<\/code><\/h2>\n\n\n\n<p>LWS \u53ef\u4ee5\u4f7f\u503c\u7684\u8ba1\u7b97\u7ed3\u679c\u4e3a \u3002<code>undefined<\/code><\/p>\n\n\n\n<p>\u4e0b\u9762\u662f\u4e00\u4e9b\u6761\u4ef6\uff0c\u8fd9\u4e9b\u6761\u4ef6\u4f1a\u5bfc\u81f4\u5c5e\u6027\u50cf\u5728\u4f7f\u7528 LWS \u8fd0\u884c\u7684\u7ec4\u4ef6\u4e2d\u4e00\u6837\u8fdb\u884c\u8ba1\u7b97\uff0c\u4ee5\u53ca\u5982\u4f55\u5904\u7406\u5b83\u3002<code>undefined<\/code><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u672a\u5b9a\u4e49\u7684\u503c\u5728\u5168\u5c40\u8303\u56f4\u5185<\/h2>\n\n\n\n<p>\u5982\u679c\u4f60\u7684\u4ee3\u7801\u6216\u4f60\u4f7f\u7528\u7684\u7b2c\u4e09\u65b9\u5e93\u5c06\u503c\u5b58\u50a8\u5728\u5bf9\u8c61\u4e2d\uff0c\u5219\u5b83\u6b63\u5728\u8bbf\u95ee\u5168\u5c40\u8303\u56f4\u3002Lightning Web Security \u5f3a\u5236\u6267\u884c JavaScript \u4e25\u683c\u6a21\u5f0f\uff0c\u4ee5\u9632\u6b62\u521b\u5efa\u5168\u5c40\u53d8\u91cf\u3002\u5982\u679c\u60a8\u5c1d\u8bd5\u521b\u5efa\u5168\u5c40\u53d8\u91cf\uff0c\u6d4f\u89c8\u5668\u4f1a\u5f15\u53d1\u9519\u8bef\u3002<code>window<\/code><\/p>\n\n\n\n<p>LWS \u5931\u771f\u4ec5\u5141\u8bb8\u5728\u7ec4\u4ef6\u7684\u547d\u540d\u7a7a\u95f4\u6c99\u7bb1\u4e2d\u66f4\u6539\u865a\u62df\u5bf9\u8c61\u3002\u5982\u679c\u7ec4\u4ef6\u5c1d\u8bd5\u8bbf\u95ee\u5728\u53e6\u4e00\u4e2a\u547d\u540d\u7a7a\u95f4\u4e2d\u521b\u5efa\u7684\u5168\u5c40\u8303\u56f4\u5c5e\u6027\uff0c\u5219 LWS \u8fd4\u56de\u7684\u503c\u4e3a \u3002<code>window<\/code><code>undefined<\/code><\/p>\n\n\n\n<p>LWS \u6c99\u76d2\u4f7f\u60a8\u53ef\u4ee5\u8bbf\u95ee\u5168\u5c40\u5c5e\u6027\uff0c\u4f46\u5b9e\u9645\u4e0a\u60a8\u6b63\u5728\u8bbf\u95ee\u5bf9\u8c61\u7684\u865a\u62df\u526f\u672c\u3002\u5728\u547d\u540d\u7a7a\u95f4\u6c99\u7bb1\u4e2d\uff0cLWS \u5141\u8bb8\u60a8\u8bbf\u95ee\u5168\u5c40\u5c5e\u6027\uff0c\u4f46\u5728\u5168\u5c40\u8303\u56f4\u5185\u5b58\u50a8\u4efb\u4f55\u5185\u5bb9\u90fd\u88ab\u89c6\u4e3a\u4e0d\u597d\u7684\u505a\u6cd5\u3002LWS \u5141\u8bb8\u8fd9\u6837\u505a\uff0c\u4f46\u5982\u679c\u5c06\u5177\u6709\u7a81\u53d8\u7684\u5bf9\u8c61\u4f20\u9012\u7ed9\u5728\u547d\u540d\u7a7a\u95f4\u6c99\u76d2\u5916\u90e8\u8fd0\u884c\u7684\u4ee3\u7801\uff0c\u5219\u65e0\u6cd5\u8bbf\u95ee\u66f4\u6539\u7684\u5c5e\u6027\u3002<code>window<\/code><\/p>\n\n\n\n<p>\u76f8\u53cd\uff0c\u5c06\u5176\u4ed6\u547d\u540d\u7a7a\u95f4\u4e2d\u7684\u51fd\u6570\u6216\u5bf9\u8c61\u53ef\u4ee5\u8bbf\u95ee\u7684\u4efb\u4f55\u5171\u4eab\u6570\u636e\u4f5c\u4e3a\u51fd\u6570\u6216\u6784\u9020\u51fd\u6570\u53c2\u6570\u4f20\u9012\u3002<\/p>\n\n\n\n<p>\u6ce8\u610f<\/p>\n\n\n\n<p>\u542f\u7528 LWS \u65f6\uff0c\u7b2c\u4e09\u65b9\u5e93\u4e0d\u5e94\u663e\u5f0f\u8bbe\u7f6e\u4e25\u683c\u6a21\u5f0f\u3002\u8bf7\u53c2\u9605&nbsp;LWS \u7684\u7b2c\u4e09\u65b9\u5e93\u6ce8\u610f\u4e8b\u9879\u3002<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">undefined \u503c\u7531\u51fd\u6570\u53c2\u6570\u4f20\u9012<\/h2>\n\n\n\n<p>\u5982\u679c\u60a8\u53d1\u73b0\u67d0\u4e9b\u4f5c\u4e3a\u53c2\u6570\u4f20\u9012\u7684\u503c\u662f\u5728\u542f\u7528 LWS \u4e4b\u540e\uff0c\u5219\u95ee\u9898\u53ef\u80fd\u662f\u7531\u4e8e\u5bf9\u8c61\u7a81\u53d8\u6216\u5bf9\u7ec4\u4ef6\u4e0d\u62e5\u6709\u7684\u6570\u636e\u8fdb\u884c\u4e86\u4fee\u6539\u3002<code>undefined<\/code><\/p>\n\n\n\n<p>\u6570\u636e\u6240\u6709\u6743\u662f\u5728\u547d\u540d\u7a7a\u95f4\u7ea7\u522b\u5b9a\u4e49\u7684\uff0c\u8fd9\u610f\u5473\u7740\u5728\u547d\u540d\u7a7a\u95f4\u4e2d\u5b9a\u4e49\u7684\u4ee3\u7801\u53ef\u4ee5\u81ea\u7531\u4fee\u6539\u81ea\u5df1\u7684\u6570\u636e\u3002\u4f46\u662f\uff0c\u5982\u679c\u4ee3\u7801\u4ece\u53e6\u4e00\u4e2a\u547d\u540d\u7a7a\u95f4\u63a5\u6536\u6570\u636e\u5e76\u4fee\u6539\u8be5\u6570\u636e\uff0c\u5219\u4fee\u6539\u5e76\u4e0d\u603b\u662f\u53cd\u6620\u5728\u547d\u540d\u7a7a\u95f4\u4e4b\u5916\u3002<\/p>\n\n\n\n<p>\u63d0\u793a<\/p>\n\n\n\n<p>\u5982\u679c\u88ab\u7a81\u53d8\u7684\u5bf9\u8c61\u662f\u7eaf JavaScript \u5bf9\u8c61\u3001\u6570\u7ec4\u6216\u7c7b\u578b\u5316\u6570\u7ec4\uff0c\u5219 LWS \u5141\u8bb8\u5bf9\u539f\u59cb\u5bf9\u8c61\u8fdb\u884c\u7a81\u53d8\uff0c\u5e76\u4e14\u66f4\u6539\u4f1a\u53cd\u6620\u5728\u547d\u540d\u7a7a\u95f4\u4e4b\u5916\u3002\u6211\u4eec\u7279\u522b\u5efa\u8bae\u4f7f\u7528\u8fd9\u4e9b\u5bf9\u8c61\u800c\u4e0d\u662f\u5730\u56fe\u3002<\/p>\n\n\n\n<p>\u5bf9\u4e8e\u5168\u5c40\u5bf9\u8c61\u548c\u4ece\u81ea\u5b9a\u4e49\u7c7b\u6784\u9020\u7684\u5bf9\u8c61\uff0c\u5982\u679c\u5bf9\u8c61\u4e0d\u5f52\u547d\u540d\u7a7a\u95f4\u6240\u6709\uff0c\u5219 LWS \u4e0d\u5141\u8bb8\u7a81\u53d8\u3002\u5728\u547d\u540d\u7a7a\u95f4\u6c99\u7bb1\u5916\u90e8\u6dfb\u52a0\u7684\u5c5e\u6027\u7684\u8ba1\u7b97\u7ed3\u679c\u4e3a \u3002<code>window<\/code><code>undefined<\/code><\/p>\n\n\n\n<p>\u5728\u6b64\u793a\u4f8b\u4e2d\uff0c\u5728\u547d\u540d\u7a7a\u95f4 A \u4e2d\u5b9a\u4e49\uff0c\u5728\u547d\u540d\u7a7a\u95f4 B \u4e2d\u5b9a\u4e49\u3002<code>redFunction<\/code><code>blueFunction<\/code><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\/\/module in namespace A\n\nfunction redFunction(arg) {\n  arg.foo = \"bar\"; \/\/ mutation on the arg object\n  console.log(arg.foo); \/\/ \"bar\"\n}\n\n\/\/module in namespace B\n\nfunction blueFunction() {\n  var someObject = {};\n  redFunction(someObject); \/\/ blueFunction expects foo property added by redFunction\n  console.log(someObject.foo); \/\/ undefined\n}<\/code><\/pre>\n\n\n\n<p>\u5f53 uses \u65f6\uff0c\u5b83\u4e0d\u4f1a\u63a5\u6536\u5728\u547d\u540d\u7a7a\u95f4 A \u4e2d\u5b8c\u6210\u7684\u5c5e\u6027\u7684\u7a81\u53d8\u3002\u547d\u540d\u7a7a\u95f4\u53ef\u4ee5\u901a\u8fc7\u76f8\u4e92\u4f20\u9012\u6570\u636e\u8fdb\u884c\u901a\u4fe1\uff0c\u4f46\u7a81\u53d8\u4e0d\u4f1a\u6301\u7eed\u5230\u547d\u540d\u7a7a\u95f4\u8fb9\u754c\u4e4b\u5916\u3002<code>blueFunction<\/code><code>redFunction<\/code><code>foo<\/code><\/p>\n\n\n\n<p>\u5982\u679c\u4ee3\u7801\u66f4\u6539\u4e86\u4ece\u5176\u4ed6\u547d\u540d\u7a7a\u95f4\u63a5\u6536\u7684\u5bf9\u8c61\uff0c\u8bf7\u91cd\u6784\u4ee3\u7801\u3002<\/p>\n\n\n\n<p>\u6709\u5173\u5982\u4f55\u91cd\u6784\u4ee3\u7801\u7684\u793a\u4f8b\uff0c\u8bf7\u53c2\u9605\u66f4\u6539\u5bf9\u8c61\u7684\u66ff\u4ee3\u65b9\u6cd5\u3002<\/p>\n\n\n\n<p>\u6ce8\u610f<\/p>\n\n\n\n<p>\u6700\u597d\u5728\u8bbe\u8ba1\u51fd\u6570\u65f6\u8003\u8651\u4e0d\u53ef\u53d8\u6027\uff0c\u4ee5\u4f7f\u5b83\u4eec\u5177\u6709\u5e42\u7b49\u6027\u3002\u6709\u5173\u4e0d\u53ef\u53d8\u6027\u7f16\u7801\u8303\u5f0f\u7684\u66f4\u591a\u4fe1\u606f\uff0c\u8bf7\u53c2\u9605\u6b64&nbsp;Redux \u6307\u5357\u3002<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"alternatives-to-mutating-objects\">\u53d8\u5f02\u5bf9\u8c61\u7684\u66ff\u4ee3\u65b9\u6848<\/h2>\n\n\n\n<p>\u4e00\u4e2a\u5e38\u89c1\u7684\u6709\u95ee\u9898\u7684\u7f16\u7801\u505a\u6cd5\u662f\u6539\u53d8\u547d\u540d\u7a7a\u95f4\u4e0d\u62e5\u6709\u7684\u5bf9\u8c61\u3002\u66f4\u6539\u5bf9\u8c61\u65f6\uff0c\u53ef\u4ee5\u6dfb\u52a0\u6216\u5220\u9664\u5bf9\u8c61\u7684\u5c5e\u6027\u6216\u66f4\u6539\u5c5e\u6027\u7684\u503c\u3002\u66f4\u6539\u5bf9\u8c61\u7684\u201c\u5f62\u72b6\u201d\u3002\u5f53\u60a8\u5728 LWS \u4e2d\u8fd0\u884c\u7684\u7ec4\u4ef6\u4e2d\u66f4\u6539\u5bf9\u8c61\u65f6\uff0c\u8be5\u66f4\u6539\u4e0d\u4f1a\u4f20\u64ad\u5230\u547d\u540d\u7a7a\u95f4\u6c99\u76d2\u4e4b\u5916\uff0c\u8fd9\u4f1a\u5bfc\u81f4\u9519\u8bef\u3002<\/p>\n\n\n\n<p>\u7a81\u53d8\u53ef\u80fd\u5bfc\u81f4\u503c\u4e3a \u3002\u6709\u5173\u8be6\u7ec6\u4fe1\u606f\uff0c\u8bf7\u53c2\u9605\u5728 LWS \u4e2d\u5c06\u5c5e\u6027\u8bc4\u4f30\u4e3a\u672a\u5b9a\u4e49\u3002<code>undefined<\/code><\/p>\n\n\n\n<p>\u672c\u8282\u8ba8\u8bba\u8fd9\u4e9b\u5c5e\u6027\u7a81\u53d8\u7684\u66ff\u4ee3\u65b9\u6848\u3002<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u51fd\u6570\u53c2\u6570<\/li>\n\n\n\n<li>\u7c7b\u5b9e\u4f8b\u5c5e\u6027<\/li>\n\n\n\n<li>\u4e8b\u4ef6\u4e2d\u63a5\u6536\u7684\u5bf9\u8c61<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">\u51fd\u6570\u53c2\u6570\u7684\u7a81\u53d8\u66ff\u4ee3\u65b9\u6848<\/h2>\n\n\n\n<p>\u5728\u6b64\u793a\u4f8b\u4e2d\uff0c\u51fd\u6570\u901a\u8fc7\u6dfb\u52a0\u503c\u4e3a \u7684\u5c5e\u6027\u6765\u6539\u53d8\u53c2\u6570\u3002\u7136\u540e\u8c03\u7528 \uff0c\u5b83\u671f\u671b\u5728 \u4e0a\u5b9a\u4e49\u3002<code>foo()<\/code><code>obj<\/code><code>foo<\/code><code>foo()<\/code><code>otherFunction<\/code><code>prop = foo<\/code><code>obj<\/code><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>function foo(obj) {\n  obj.prop = \"foo\"; \/\/ 'prop' did not exist on obj\n  otherFunction(obj);\n}<\/code><\/pre>\n\n\n\n<p>\u8fd9\u79cd\u7a81\u53d8\u662f\u6709\u95ee\u9898\u7684\uff0c\u56e0\u4e3a\u53ef\u4ee5\u4ece\u4e0d\u540c\u7684\u547c\u53eb\u8005\u63a5\u6536\u3002\u7136\u540e\u53ef\u4ee5\u53d1\u9001\u7ed9\u4e0d\u540c\u7684\u6d88\u8d39\u8005\uff0c\u4ed6\u4eec\u5e0c\u671b\u6709\u4e0d\u540c\u7684\u5f62\u72b6\u3002\u7a81\u53d8\u4f1a\u5e26\u6765\u4e0d\u786e\u5b9a\u6027\u548c\u4e0d\u4e00\u81f4\u6027\u3002\u66f4\u6539\u53ef\u80fd\u4f1a\u5728\u4e0d\u77e5\u4e0d\u89c9\u4e2d\u7834\u574f\u5176\u4ed6\u4ee3\u7801\uff0c\u5c24\u5176\u662f\u5f53\u4ee3\u7801\u5e93\u5e9e\u5927\u800c\u590d\u6742\u65f6\u3002<code>foo()<\/code><code>obj<\/code><code>foo()<\/code><code>obj<\/code><code>obj<\/code><code>obj<\/code><\/p>\n\n\n\n<p>\u4e0d\u8981\u5411\u5bf9\u8c61\u6dfb\u52a0\u5c5e\u6027\uff0c\u800c\u662f\u4f7f\u7528\u5bf9\u8c61\u7684\u76f8\u5173\u5c5e\u6027\u521b\u5efa\u6d45\u5c42\u514b\u9686\u3002\u5728\u793a\u4f8b\u4ee3\u7801\u4e2d\uff0c\u91cd\u6784\u4ee5\u521b\u5efa\u5bf9\u8c61\u7684\u514b\u9686\u5e76\u6dfb\u52a0\u5230\u514b\u9686\u4e2d\u3002<code>foo()prop<\/code><\/p>\n\n\n\n<p>\u4e0b\u9762\u662f\u4e00\u4e2a\u5355\u884c\u66f4\u6539\uff0c\u5b83\u4f7f\u7528\u514b\u9686\u5bf9\u8c61\u5220\u9664\u7a81\u53d8\u3002<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>function foo(obj) {\n  const newObj = { ...obj, prop: \"foo\" };\n  otherFunction(obj);\n}<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">\u7c7b\u5b9e\u4f8b\u5c5e\u6027\u7684\u7a81\u53d8\u66ff\u4ee3\u9879<\/h2>\n\n\n\n<p>\u5bf9\u4e8e\u7c7b\uff0c\u6211\u4eec\u5efa\u8bae\u516c\u5f00\u53ef\u7a81\u53d8\u5c5e\u6027\u7684 getter \u548c setter\u3002\u907f\u514d\u76f4\u63a5\u66f4\u6539\u7528\u4e8e\u8ba1\u7b97\u7684\u7c7b\u5c5e\u6027\u3002<\/p>\n\n\n\n<p>JavaScript \u73b0\u5728\u652f\u6301\u79c1\u6709\u7c7b\u5b57\u6bb5\u3002\u5728\u4efb\u4f55\u9762\u5411\u5bf9\u8c61\u7684\u7f16\u7a0b\u8bed\u8a00\u4e2d\uff0c\u6700\u597d\u7684\u505a\u6cd5\u662f\u5c06\u6240\u6709\u5185\u90e8\u72b6\u6001\u5c5e\u6027\u5b9a\u4e49\u4e3a\u79c1\u6709\u5c5e\u6027\uff0c\u5e76\u4e14\u4ec5\u516c\u5f00\u5916\u90e8\u4ee3\u7801\u53ef\u4ee5\u53d8\u5f02\u7684\u5c5e\u6027\u7684&nbsp;getter&nbsp;\u548c&nbsp;setter\u3002<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u4e8b\u4ef6\u4e2d\u63a5\u6536\u7684\u5bf9\u8c61\u7684\u7a81\u53d8\u66ff\u4ee3\u9879<\/h2>\n\n\n\n<p>\u5bf9\u4e8e\u4e8b\u4ef6\uff0c\u6ca1\u6709\u7b80\u5355\u7684\u89e3\u51b3\u65b9\u6cd5\uff0c\u56e0\u4e3a\u4e8b\u4ef6\u662f\u901a\u8fc7 DOM \u4f20\u64ad\u7684\u3002<\/p>\n\n\n\n<p>\u53ef\u80fd\u7684\u89e3\u51b3\u65b9\u6848\u662f\uff1a<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u514b\u9686\u4e8b\u4ef6\u6570\u636e\uff0c\u5bf9\u5176\u8fdb\u884c\u66f4\u6539\uff0c\u7136\u540e\u4f7f\u7528\u65b0\u6570\u636e\u91cd\u65b0\u8c03\u5ea6\u76f8\u540c\u7684\u4e8b\u4ef6\u3002<\/li>\n\n\n\n<li>\u514b\u9686\u4e8b\u4ef6\u6570\u636e\uff0c\u5bf9\u5176\u8fdb\u884c\u66f4\u6539\uff0c\u7136\u540e\u8c03\u5ea6\u5177\u6709\u4e0d\u540c\u540d\u79f0\u7684\u65b0\u4e8b\u4ef6\u3002<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"static-resources-with-async-functions\">\u5177\u6709\u5f02\u6b65\u51fd\u6570\u7684\u9759\u6001\u8d44\u6e90<\/h2>\n\n\n\n<p>\u5f53\u60a8\u5728 Lightning Web \u7ec4\u4ef6\u4e2d\u4f7f\u7528 Lightning Web \u7ec4\u4ef6\u8bbf\u95ee\u9759\u6001\u8d44\u6e90\u5e76\u542f\u7528 Lightning Web Security \uff08LWS\uff09 \u65f6\uff0c\u8fd9\u4e9b\u9759\u6001\u8d44\u6e90\u4e2d\u7684\u67d0\u4e9b API \u53ef\u80fd\u4f1a\u5728\u5404\u79cd\u6d4f\u89c8\u5668\u4e4b\u95f4\u8868\u73b0\u51fa\u4e0d\u4e00\u81f4\u7684\u884c\u4e3a\u3002<code>lightning\/platformResourceLoader<\/code><\/p>\n\n\n\n<p>\u542f\u7528 LWS \u540e\uff0c\u4ece\u9759\u6001\u8d44\u6e90\u4f7f\u7528\u7684 JavaScript \u51fd\u6570\u5728\u57fa\u4e8e Chromium \u7684\u6d4f\u89c8\u5668\u4e2d\u5de5\u4f5c\uff0c\u4f46\u76ee\u524d\u5728 Firefox \u4e2d\u4e0d\u8d77\u4f5c\u7528\u3002\u8be5\u95ee\u9898\u662fFirefox\u4e2d\u7684\u4e00\u4e2a\u9519\u8bef\u3002<code>async<\/code><\/p>\n\n\n\n<p>\u60a8\u53ef\u4ee5\u5728 Firefox \u4e2d\u901a\u8fc7\u9884\u7f16\u8bd1\u9759\u6001\u8d44\u6e90\u4e2d\u7684\u4ee3\u7801\u6765\u89e3\u51b3\u6b64\u95ee\u9898\uff0c\u4ee5\u4fbf\u5c06\u51fd\u6570\u66ff\u6362\u4e3a\u7b49\u6548\u4ee3\u7801\u3002<code>async<\/code><\/p>\n\n\n\n<p>\u5982\u679c\u4f60\u5728\u9759\u6001\u8d44\u6e90\u4e2d\u7684\u51fd\u6570\u6709\u95ee\u9898\uff0c\u5efa\u8bae\u4f7f\u7528\u8fd9\u4e2a Babel \u63d2\u4ef6\uff1a&nbsp;https:\/\/babeljs.io\/docs\/en\/babel-plugin-transform-async-to-generator<code>async<\/code><\/p>\n\n\n\n<p>\u6216\u8005\uff0c\u60a8\u53ef\u4ee5\u91cd\u6784\u4ee5\u4f7f\u7528\u5176\u4ed6\u65b9\u6cd5\uff0c\u4f8b\u5982 JavaScript promise\u3002<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"custom-properties-on-standard-javascript-objects\">\u6807\u51c6 JavaScript \u5bf9\u8c61\u7684\u81ea\u5b9a\u4e49\u5c5e\u6027<\/h2>\n\n\n\n<p>\u5c06\u81ea\u5b9a\u4e49\u5c5e\u6027\u76f4\u63a5\u6dfb\u52a0\u5230\u6807\u51c6\u5185\u7f6e JavaScript&nbsp;\u5bf9\u8c61\u53ef\u80fd\u4f1a\u5bfc\u81f4\u5e8f\u5217\u5316\u5bf9\u8c61\u65f6\u51fa\u73b0\u95ee\u9898\u3002\u5f53\u5bf9\u8c61\u8de8\u547d\u540d\u7a7a\u95f4\u4f20\u9012\u6216\u4f20\u9012\u5230\u5168\u5c40\u8303\u56f4\u65f6\uff0c\u51fa\u4e8e\u5b89\u5168\u539f\u56e0\uff0cLWS \u4e0d\u4f1a\u53cd\u6620\u8fd9\u79cd\u7a81\u53d8\u3002<\/p>\n\n\n\n<p>\u5982\u679c\u5fc5\u987b\u5411 DOM \u5143\u7d20\u6dfb\u52a0\u81ea\u5b9a\u4e49\u6570\u636e\uff0c\u8bf7\u4f7f\u7528 DOM \u5143\u7d20\u7684&nbsp;dataset&nbsp;\u5c5e\u6027\uff0c\u800c\u4e0d\u662f\u5411\u5143\u7d20\u5bf9\u8c61\u6dfb\u52a0\u81ea\u5b9a\u4e49\u5c5e\u6027\u3002<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"objects-passed-between-components-are-proxied\">\u5728\u7ec4\u4ef6\u4e4b\u95f4\u4f20\u9012\u7684\u5bf9\u8c61\u662f\u4ee3\u7406\u7684<\/h2>\n\n\n\n<p>\u5728\u4e0d\u540c\u547d\u540d\u7a7a\u95f4\u4e2d\u7684\u7ec4\u4ef6\u4e4b\u95f4\u4f20\u9012\u6216\u4f20\u9012\u5230\u5168\u5c40 DOM \u4e2d\u7684\u5bf9\u8c61\u53ef\u80fd\u5b58\u5728\u517c\u5bb9\u6027\u95ee\u9898\u3002\u4e3a\u4e86\u4fdd\u6301\u547d\u540d\u7a7a\u95f4\u9694\u79bb\u5e76\u51cf\u5c11\u4e0d\u517c\u5bb9\u6027\uff0cLWS \u5728\u5bf9\u8c61\u5468\u56f4\u4f7f\u7528\u4ee3\u7406\u5305\u88c5\u5668\u3002\u5f53 LWS \u5c1d\u8bd5\u89e3\u5f00\u8fd9\u4e9b\u503c\u65f6\uff0c\u6709\u65f6\u4f1a\u5931\u8d25\u3002\u4f8b\u5982\uff0c\u60a8\u53ef\u4ee5\u5728\u6d4f\u89c8\u5668\u63a7\u5236\u53f0\u4e2d\u770b\u5230\u8fd9\u4e9b\u503c\u4e3a null \u6216\u4ee3\u7406\u3002<\/p>\n\n\n\n<p>\u540c\u6837\uff0c\u7531\u7ec4\u4ef6\u89e6\u53d1\u7684\u81ea\u5b9a\u4e49\u4e8b\u4ef6\uff08\u5176\u503c\u7528\u4e8e\u6d4f\u89c8\u5668\u6269\u5c55\uff09\u4f1a\u8de8\u8d8a\u7ec4\u4ef6\u6c99\u7bb1\u8fb9\u754c\uff0c\u56e0\u6b64 LWS \u4f1a\u4ee3\u7406\u8fd9\u4e9b\u4e8b\u4ef6\u3002\u7531\u4e8e\u4ee3\u7406\u5305\u88c5\u5668\uff0c\u6d4f\u89c8\u5668\u6269\u5c55\u53ef\u4ee5\u63a5\u6536 null \u503c\u3002<code>detail<\/code><code>detail<\/code><\/p>\n\n\n\n<p>\u4e3a\u907f\u514d\u4e0e\u4ee3\u7406\u5305\u88c5\u5668\u76f8\u5173\u7684\u95ee\u9898\uff0c\u8bf7\u5c06\u503c\u4f5c\u4e3a JSON \u5b57\u7b26\u4e32\u4f20\u9012\uff0c\u5e76\u5728\u4ee5\u540e\u5bf9\u5176\u8fdb\u884c\u5206\u6790\u3002<\/p>\n\n\n\n<p>\u5728\u6b64\u793a\u4f8b\u4e2d\uff0c\u547d\u540d\u7a7a\u95f4\u4e2d\u7684\u7ec4\u4ef6\u5c06\u4e8b\u4ef6\u6570\u636e\u5e8f\u5217\u5316\u4e3a JSON \u5b57\u7b26\u4e32\u3002\u547d\u540d\u7a7a\u95f4\u4e2d\u7684\u7ec4\u4ef6\u5728\u5904\u7406\u4e4b\u524d\u89e3\u6790\u6570\u636e\u3002<code>foo<\/code><code>bar<\/code><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\/\/ namespace foo\nwindow.addEventListener(\n  \"message\",\n  (event) =&gt; {\n    let dataObj = JSON.serialize(event.data);\n  },\n  false,\n);\n\n\/\/ namespace bar\nlet dataStr = JSON.parse(data);\nwindow.postMessage(dataStr, targetOrigin);<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"map-object-limitations\">Map \u5bf9\u8c61\u9650\u5236<\/h2>\n\n\n\n<p>\u5728\u5e8f\u5217\u5316\u5bf9\u8c61\u65f6\uff0c\u4f7f\u7528\u542f\u7528\u4e86 LWS \u7684 Map \u5bf9\u8c61\u53ef\u80fd\u4f1a\u9047\u5230\u95ee\u9898\u3002\u5728\u5927\u591a\u6570\u60c5\u51b5\u4e0b\uff0c\u60a8\u53ef\u4ee5\u4f7f\u7528\u7eaf JavaScript \u5bf9\u8c61\uff0c\u800c\u4e0d\u662f\u4f7f\u7528 Map \u5b9e\u4f8b\u3002<\/p>\n\n\n\n<p>\u5982\u679c\u5fc5\u987b\u4f7f\u7528\u6620\u5c04\uff0c\u8bf7\u4f7f\u7528\u8be5\u65b9\u6cd5\u63d2\u5165\u952e\u503c\u5bf9\uff0c\u800c\u4e0d\u662f\u6dfb\u52a0\u81ea\u5b9a\u4e49\u5c5e\u6027\u3002\u5982\u679c\u5fc5\u987b\u5e8f\u5217\u5316 Map \u4e2d\u4f20\u9012\u7684\u6570\u636e\uff0c\u8bf7\u5c06\u81ea\u5b9a\u4e49\u66ff\u6362\u51fd\u6570\u4f20\u9012\u7ed9 \u3002<code>set()JSON.stringify(...)<\/code><\/p>\n\n\n\n<p>\u547d\u4ee4\u5f0f\u548c\u6709\u7ebf Apex \u8c03\u7528\u90fd\u4e0d\u652f\u6301\u5728 Lightning Web \u7ec4\u4ef6\u4e2d\u4f7f\u7528\u5730\u56fe\u3002<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"script-tags-transformed-to-fetch-calls\">\u8f6c\u6362\u4e3a\u63d0\u53d6\u8c03\u7528\u7684\u811a\u672c\u6807\u8bb0<\/h2>\n\n\n\n<p>LWS \u5c06\u6807\u7b7e\u8f6c\u6362\u4e3a\u8c03\u7528\u3002LWS \u4e0b\u8f7d\u811a\u672c\u4ee5\u5728\u6c99\u76d2\u4e2d\u5bf9\u5176\u8fdb\u884c\u8bc4\u4f30\u3002<code>&lt;script&gt;<\/code><code>fetch<\/code><\/p>\n\n\n\n<p>\u8981\u4f7f\u8c03\u7528\u6210\u529f\uff0c\u8bf7\u6267\u884c\u4ee5\u4e0b\u64cd\u4f5c\uff1a<code>fetch<\/code><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u5728\u8fd0\u884c\u7ec4\u4ef6\u7684 Salesforce \u7ad9\u70b9\u4e0a\u914d\u7f6e connected-src CSP \u6307\u4ee4\uff0c\u4ee5\u5141\u8bb8\u8bbf\u95ee\u811a\u672c\u8d44\u6e90\u670d\u52a1\u5668\u3002\u8bf7\u53c2\u9605\u7ba1\u7406\u53d7\u4fe1\u4efb\u7684 URL\u3002<\/li>\n\n\n\n<li>\u4f7f\u7528\u8de8\u57df\u8d44\u6e90\u5171\u4eab&nbsp;\uff08CORS\uff09&nbsp;\u914d\u7f6e\u8d44\u6e90\u670d\u52a1\u5668\uff0c\u4ee5\u5c06 Salesforce \u7ad9\u70b9\u7684\u6e90\u6dfb\u52a0\u5230\u5176\u5141\u8bb8\u7684\u6e90\u5217\u8868\u4e2d\u3002\u7136\u540e\uff0c\u8be5\u7ec4\u4ef6\u53ef\u4ee5\u8bbf\u95ee\u670d\u52a1\u5668\u8d44\u6e90\u3002<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"local-storage-limitations\">\u672c\u5730\u5b58\u50a8\u9650\u5236<\/h2>\n\n\n\n<p>LWS \u4e3a\u6bcf\u4e2a\u6c99\u76d2\u521b\u5efa\u5408\u6210\u5b58\u50a8\u3002\u5408\u6210\u5b58\u50a8\u53ef\u9632\u6b62\u4e00\u4e2a\u6c99\u7bb1\u4e2d\u7684\u4ee3\u7801\u68c0\u7d22\u5c5e\u4e8e\u53e6\u4e00\u4e2a\u547d\u540d\u7a7a\u95f4\u7684\u6570\u636e\u6216\u5728 LWS \u6c99\u7bb1\u5916\u90e8\u7684\u5168\u5c40\u8303\u56f4\u5185\u8bbe\u7f6e\u7684\u6570\u636e\u3002<\/p>\n\n\n\n<p><code>localStorage<\/code>\u5e76\u6309\u952e\u5206\u533a\u3002\u542f\u7528 LWS \u540e\uff0c\u65e0\u6cd5\u8bbf\u95ee\u5728\u547d\u540d\u7a7a\u95f4\u5916\u90e8\u8bbe\u7f6e\u7684\u952e\u503c\uff0c\u56e0\u4e3a LWS \u4f1a\u521b\u5efa\u547d\u540d\u7a7a\u95f4\u552f\u4e00\u7684\u952e\u540d\u79f0\u3002<code>sessionStorage<\/code><\/p>\n\n\n\n<p>\u82e5\u8981\u4e0e\u5728\u4e0d\u540c\u547d\u540d\u7a7a\u95f4\u4e2d\u8fd0\u884c\u7684\u4ee3\u7801\u5171\u4eab\u5b58\u50a8\u5728\u672c\u5730\u5b58\u50a8\u4e2d\u7684\u6570\u636e\uff0c\u8bf7\u521b\u5efa\u4e00\u4e2a\u51fd\u6570\u5e76\u5c06\u5176\u4ece\u4e00\u4e2a\u547d\u540d\u7a7a\u95f4\u5bfc\u51fa\uff0c\u4ee5\u5141\u8bb8\u53e6\u4e00\u4e2a\u547d\u540d\u7a7a\u95f4\u5bfc\u5165\u548c\u8c03\u7528\u8be5\u51fd\u6570\u3002<\/p>\n\n\n\n<p>\u6ce8\u610f<\/p>\n\n\n\n<p>Lightning Locker \u548c LWS \u4f7f\u7528\u4e0d\u540c\u7684\u673a\u5236\u6765\u4fdd\u62a4\u672c\u5730\u5b58\u50a8\u3002\u542f\u7528 LWS \u65f6\uff0c\u65e0\u6cd5\u8bbf\u95ee\u542f\u7528 Locker \u65f6\u4fdd\u5b58\u5230\u672c\u5730\u5b58\u50a8\u7684\u6570\u636e\uff0c\u53cd\u4e4b\u4ea6\u7136\u3002\u5982\u679c\u5728\u5c06\u6570\u636e\u4fdd\u5b58\u5230\u672c\u5730\u5b58\u50a8\u4e2d\u540e LWS \u8bbe\u7f6e\u53d1\u751f\u66f4\u6539\uff0c\u5219\u5373\u4f7f\u7531\u540c\u4e00\u547d\u540d\u7a7a\u95f4\u4e2d\u7684\u7ec4\u4ef6\u8bbe\u7f6e\uff0c\u4e5f\u65e0\u6cd5\u8bbf\u95ee\u6570\u636e\u3002\u542f\u7528\u6216\u7981\u7528 LWS \u540e\u91cd\u5199 \u548c \u6570\u636e\u3002<code>localStorage<\/code><code>sessionStorage<\/code><\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"aura-endpoints-disallowed-by-lws\">LWS \u4e0d\u5141\u8bb8\u7684 Aura \u7aef\u70b9<\/h2>\n\n\n\n<p>Lightning Web Security \u4e0d\u5141\u8bb8\u8bbf\u95ee\u5305\u542b \u548c \u7684 URL \u7aef\u70b9\uff0c\u56e0\u4e3a\u5b83\u4eec\u662f Lightning \u7ec4\u4ef6\u6846\u67b6\u7684\u4e00\u90e8\u5206\u3002<code>\/aura<\/code><code>\/webruntime<\/code><\/p>\n\n\n\n<p>\u8fd9\u4e9b JavaScript API \u4f1a\u53d7\u5230\u5f71\u54cd\u3002<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>fetch<\/code><\/li>\n\n\n\n<li><code>Navigator.sendBeacon<\/code><\/li>\n\n\n\n<li><code>XMLHttpRequest.open<\/code><\/li>\n\n\n\n<li><code>HTMLObjectElement.prototype.data<\/code> setter<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"salesforce-global-variables-blocked-by-lws\">\u88ab LWS \u963b\u6b62\u7684 Salesforce \u5168\u5c40\u53d8\u91cf<\/h2>\n\n\n\n<p>LWS \u963b\u6b62\u8bbf\u95ee\u5176\u4ed6 Salesforce \u529f\u80fd\u53ef\u7528\u7684\u67d0\u4e9b\u5168\u5c40 JavaScript \u5bf9\u8c61\u3002<\/p>\n\n\n\n<p>Lightning Web \u7ec4\u4ef6<strong>\u65e0\u6743\u8bbf\u95ee<\/strong>\uff1a<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>$A<\/code><\/li>\n\n\n\n<li><code>Aura<\/code><\/li>\n\n\n\n<li><code>Sfdc<\/code><\/li>\n\n\n\n<li><code>sforce<\/code><\/li>\n<\/ul>\n\n\n\n<p>LWS \u9650\u5236 Lightning Web \u7ec4\u4ef6\u5bf9\u8fd9\u4e9b\u5bf9\u8c61\u7684\u8bbf\u95ee\uff0c\u56e0\u4e3a\u5b83\u4eec\u5df2\u88ab\u5f03\u7528\u6216\u4e0d\u53d7 LWC \u652f\u6301\u3002<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"third-party-library-considerations-for-lws\">LWS \u7684\u7b2c\u4e09\u65b9\u5e93\u6ce8\u610f\u4e8b\u9879<\/h2>\n\n\n\n<p>\u5982\u679c\u7b2c\u4e09\u65b9\u811a\u672c\u5177\u6709\u8fd9\u4e9b\u884c\u4e3a\uff0c\u5219\u5728\u542f\u7528 LWS \u7684\u60c5\u51b5\u4e0b\u8fd0\u884c\u65f6\u53ef\u80fd\u4f1a\u9047\u5230\u95ee\u9898\u3002<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u5728\u5168\u5c40\u7a97\u53e3\u5bf9\u8c61\u4e0a\u8bbe\u7f6e\u7684\u7b2c\u4e09\u65b9\u5e93<\/h2>\n\n\n\n<p>\u67d0\u4e9b\u7b2c\u4e09\u65b9\u811a\u672c\u5e0c\u671b\u5c06\u81ea\u5df1\u6dfb\u52a0\u5230\u5168\u5c40\u5bf9\u8c61\u4e2d\u3002LWS \u5c06\u5b83\u4eec\u9650\u5236\u5728\u6c99\u7bb1\u4e2d\uff0c\u5728\u6c99\u7bb1\u4e2d\u5b83\u4eec\u8bbf\u95ee\u5168\u5c40\u5bf9\u8c61\u7684\u865a\u62df\u526f\u672c\u3002<code>window<\/code><code>window<\/code><\/p>\n\n\n\n<p>\u8981\u786e\u4fdd\u4ee3\u7801\u5728 LWS \u6c99\u7bb1\u7684\u5168\u5c40\u8303\u56f4\u5185\u8fd0\u884c\uff0c\u800c\u4e0d\u662f\u5c1d\u8bd5\u8bbf\u95ee\u5b9e\u9645\u7684\u5168\u5c40\u8303\u56f4\uff0c\u8bf7\u4fee\u6539\u8981\u5206\u914d\u7ed9 \u7684\u811a\u672c\u4ee3\u7801\u3002<code>self<\/code><code>global<\/code><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>(function (global) {\n  global = global || self;\n  global.myFunction = function () {};\n})(this);<\/code><\/pre>\n\n\n\n<p>\u5728\u6b64\u4ee3\u7801\u4e2d\uff0c\u4f5c\u4e3a \u4f20\u9012\u7ed9\u95ed\u5305\u51fd\u6570\u3002\u4f7f\u7528 LWS \u65f6\uff0c\u5e76\u4e14\u672a\u5b9a\u4e49\uff0c\u56e0\u6b64\u6b64\u4ee3\u7801\u53ef\u786e\u4fdd\u5176\u8bc4\u4f30\u7ed3\u679c\u4e3a sandbox \u3002<code>this<\/code><code>global<\/code><code>this<\/code><code>global<\/code><code>global<\/code><code>global<\/code><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u7b2c\u4e09\u65b9\u5e93\u8bbe\u7f6e\u4e25\u683c\u6a21\u5f0f<\/h2>\n\n\n\n<p>\u5982\u679c\u7b2c\u4e09\u65b9\u5e93\u811a\u672c\u663e\u5f0f\u8bbe\u7f6e\u4e86 \uff0c\u5219\u5f53\u60a8\u7684\u7ec4\u4ef6\u5728 LWS \u4e2d\u8fd0\u884c\u65f6\u4f7f\u7528\u8be5\u811a\u672c\u65f6\uff0c\u6d4f\u89c8\u5668\u53ef\u80fd\u4f1a\u5f15\u53d1\u9519\u8bef\u3002<code>\"use strict\"<\/code><\/p>\n\n\n\n<p>\u4f8b\u5982\uff0c\u5982\u679c\u811a\u672c\u5c1d\u8bd5\u5728\u5168\u5c40\u5bf9\u8c61\u4e2d\u8bbe\u7f6e\u67d0\u4e9b\u5185\u5bb9\uff0c\u5219\u4f1a\u53d1\u751f\u9519\u8bef\u3002LWS \u9690\u5f0f\u5b9e\u65bd\u6700\u4e25\u683c\u7684\u6a21\u5f0f\u9650\u5236\uff0c\u4f46\u5141\u8bb8\u5199\u5165\u5176 JavaScript \u6c99\u7bb1\u4e2d\u7684\u865a\u62df\u5168\u5c40\u5bf9\u8c61\u3002\u5728\u4ee3\u7801\u4e2d\u663e\u5f0f\u8bbe\u7f6e\u4e25\u683c\u6a21\u5f0f\u4f1a\u5e72\u6270 LWS\u3002<\/p>\n\n\n\n<p>\u89e3\u51b3\u65b9\u6cd5\u662f\u5728\u7b2c\u4e09\u65b9\u811a\u672c\u4e2d\u5220\u9664\u3002<code>\"use strict\"<\/code><\/p>\n\n\n\n<p>\u6216\u8005\uff0c\u4fee\u6539\u8981\u5206\u914d\u7ed9\u7684\u7b2c\u4e09\u65b9\u4ee3\u7801\uff0c\u5982\u4e0a\u6240\u793a\u3002<code>self<\/code><code>global<\/code><\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"experience-builder-sites-and-lws\">Experience Builder \u7ad9\u70b9\u548c LWS<\/h2>\n\n\n\n<p>\u5982\u679c\u5728\u5305\u542b Experience Builder Aura \u7ad9\u70b9\u7684\u7ec4\u7ec7\u4e2d\u542f\u7528\u4e86 LWS\uff0c\u5219 LWS \u4f1a\u4fdd\u62a4 Aura \u7ad9\u70b9\u4e2d\u7684 Lightning Web \u7ec4\u4ef6\u548c Aura \u7ec4\u4ef6\u3002<\/p>\n\n\n\n<p>LWS \u8fd8\u53ef\u4ee5\u4fdd\u62a4 LWR \u7ad9\u70b9\u4e2d\u7684 Lightning Web \u7ec4\u4ef6\u548c Aura \u7ec4\u4ef6\u3002\u4f46\u662f\uff0cLWR \u7ad9\u70b9\u6709\u81ea\u5df1\u7684 LWS \u5b9e\u4f8b\uff0c\u8be5\u5b9e\u4f8b\u4e0d\u53d7\u7ec4\u7ec7\u7684 LWS \u8bbe\u7f6e\u7684\u5f71\u54cd\u3002<\/p>\n\n\n\n<p>\u6709\u5173\u66f4\u591a\u4fe1\u606f\uff0c\u8bf7\u53c2\u9605\u300a<em>Experience Cloud \u5f00\u53d1\u4eba\u5458\u6307\u5357<\/em>\u300b\u4e2d\u7684\u5f00\u53d1\u5b89\u5168\u7ad9\u70b9\uff1aCSP\u3001Lightning Locker \u548c LWS\u3002<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"limitations-of-lws-for-aura-components\">LWS \u5bf9 Aura \u7ec4\u4ef6\u7684\u5c40\u9650\u6027<\/h2>\n\n\n\n<p>\u4ee5\u4e0b\u662f\u4f7f\u7528 LWS \u8fd0\u884c\u7684 Aura \u7ec4\u4ef6\u7684\u4e00\u4e9b\u5df2\u77e5\u9650\u5236\u3002<\/p>\n\n\n\n<p>\u8be5\u5c5e\u6027\u5fc5\u987b\u4e0e\u8fd9\u4e9b\u8bbf\u95ee\u5668\u4e00\u8d77\u4f7f\u7528\u3002<code>top<\/code><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>window.top<\/code><\/li>\n\n\n\n<li><code>globalThis.top<\/code><\/li>\n\n\n\n<li><code>self.top<\/code><\/li>\n<\/ul>\n\n\n\n<p>\u8be5\u5c5e\u6027\u5fc5\u987b\u4e0e\u8fd9\u4e9b\u8bbf\u95ee\u5668\u4e00\u8d77\u4f7f\u7528\u3002<code>location<\/code><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>window.location<\/code><\/li>\n\n\n\n<li><code>document.location<\/code><\/li>\n\n\n\n<li><code>globalThis.location<\/code><\/li>\n\n\n\n<li><code>self.location<\/code><\/li>\n\n\n\n<li><code>document.defaultView.location<\/code><\/li>\n<\/ul>\n\n\n\n<p>\u8fd9\u4e9b\u6a21\u5f0f\u4f1a\u4ea7\u751f\u8fd0\u884c\u65f6\u9519\u8bef\uff1a<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>async<\/code>\/<code>await<\/code><\/li>\n\n\n\n<li>\u52a8\u6001\u5bfc\u5165<\/li>\n<\/ul>\n\n\n\n<p>Aura \u7ec4\u4ef6\u4e0d\u80fd\u4f7f\u7528\u8fd9\u4e9b\u6280\u672f\uff0c\u56e0\u4e3a\u5b83\u4eec\u662f ES6 \u4e2d\u5f15\u5165\u7684\u529f\u80fd\uff0c\u800c Aura \u4e0d\u652f\u6301\u8fd9\u4e9b\u529f\u80fd\u3002\u6b64\u8bed\u6cd5\u7684\u4f7f\u7528\u901a\u5e38\u7531\u9a8c\u8bc1\u89c4\u5219\u5728\u5f00\u53d1\u65f6\u6807\u8bb0\u3002<\/p>\n\n\n\n<p>\u5982\u679c Aura \u7ec4\u4ef6\u4f7f\u7528\u4f7f\u7528 \/ \u6216\u52a8\u6001\u5bfc\u5165\u7684\u9759\u6001\u8d44\u6e90\uff0c\u5219\u5728\u7ec4\u4ef6\u9047\u5230\u9519\u8bef\u7684\u8fd0\u884c\u65f6\u624d\u4f1a\u68c0\u6d4b\u5230\u5b83\u3002<code>async<\/code><code>await<\/code><\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"limitation-of-dollara-global-variable-in-aura-components\">Aura \u5206\u91cf\u4e2d\u5168\u5c40\u53d8\u91cf$A\u5c40\u9650\u6027<\/h2>\n\n\n\n<p>\u5f53 Aura \u7ec4\u4ef6\u4e0e LWS \u4e00\u8d77\u8fd0\u884c\u65f6\uff0c\u5168\u5c40\u53d8\u91cf\u5bf9\u51fd\u6570\u6216\u6784\u9020\u51fd\u6570\u4e0d\u53ef\u7528\u3002<code>$A<\/code><code>eval()<\/code><code>Function<\/code><\/p>\n\n\n\n<p>\u6ca1\u6709\u4e0e \u4e00\u8d77\u4f7f\u7528\u7684\u89e3\u51b3\u65b9\u6cd5\u3002<code>$A<\/code><code>eval()<\/code><\/p>\n\n\n\n<p>\u63d0\u793a<\/p>\n\n\n\n<p>\u5728 LWC \u4e2d\u4f7f\u7528 with \u5237\u65b0\u89c6\u56fe\u4e0d\u9002\u7528\u4e8e LWS\u3002\u8bf7\u6539\u7528&nbsp;RefreshView API\u3002<code>eval()force:refreshView<\/code><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u5728\u51fd\u6570\u4e2d\u4f7f\u7528$A\u7684\u89e3\u51b3\u65b9\u6cd5<\/h2>\n\n\n\n<p>\u5728 Aura \u7ec4\u4ef6\u4e2d\uff0c\u5f53\u542f\u7528 LWS \u65f6\uff0c\u60a8\u53ef\u4ee5\u4f7f\u7528\u6784\u9020\u51fd\u6570\u7684\u4f9d\u8d56\u6ce8\u5165\u4f5c\u4e3a\u89e3\u51b3\u65b9\u6cd5\u3002<code>Function<\/code><\/p>\n\n\n\n<p>\u5b9a\u4e49\u51fd\u6570\u4ee5\u63a5\u53d7\u989d\u5916\u7684\u53c2\u6570\uff0c\u60a8\u53ef\u4ee5\u5728\u5168\u5c40\u8303\u56f4\u5185\u8c03\u7528\u5e76\u5b58\u5728\u4e8e\u5168\u5c40\u8303\u56f4\u5185\u7684\u4efb\u4f55\u4f4d\u7f6e\u63d0\u4f9b\u8be5\u53c2\u6570\u3002<code>$A<\/code><code>$A<\/code><\/p>\n\n\n\n<p>\u6b64\u793a\u4f8b\u6784\u9020\u4e00\u4e2a\u65b0\u51fd\u6570\u5e76\u5c06\u5176\u6307\u5b9a\u4e3a\u5176\u53c2\u6570\u4e4b\u4e00\uff0c\u7136\u540e\u8c03\u7528\u8be5\u51fd\u6570\uff0c\u5c06\u5f15\u7528\u4f20\u9012\u7ed9\u53ef\u8bbf\u95ee\u7684 .<code>fn<\/code><code>$A<\/code><code>$A<\/code><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>var fn = new Function(\"$A\", \"a\", \"b\");\nfn(window.$A, 1, 2);<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">$A\u5728 LWC \u4e2d\u88ab\u963b\u6b62<\/h2>\n\n\n\n<p>\u8be5\u53d8\u91cf\u5728 Lightning Web \u7ec4\u4ef6\u4e2d\u4e0d\u53d7\u652f\u6301\uff0c\u56e0\u4e3a\u5b83\u7279\u5b9a\u4e8e Aura \u6846\u67b6\u3002<code>$A<\/code><\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"analytics-libraries-blocked-by-lws\">\u88ab LWS \u963b\u6b62\u7684\u5206\u6790\u5e93<\/h2>\n\n\n\n<p>Analytics \u5e93\u9700\u8981\u4e0d\u53d7\u9650\u5236\u5730\u8bbf\u95ee\u6574\u4e2a\u9875\u9762\u3002\u6b64\u8981\u6c42\u4e0e LWS \u8981\u6c42\u51b2\u7a81\uff0c\u5373\u4e0d\u5141\u8bb8\u5c5e\u4e8e\u4e00\u4e2a\u547d\u540d\u7a7a\u95f4\u7684\u4ee3\u7801\u8bbf\u95ee\u6765\u81ea\u53e6\u4e00\u4e2a\u547d\u540d\u7a7a\u95f4\u7684\u6570\u636e\u3002<\/p>\n\n\n\n<p>LWS \u53ef\u9632\u6b62\u5206\u6790\u811a\u672c\u8bbf\u95ee\u5728 JavaScript \u6c99\u7bb1\u5916\u90e8\u7684\u6d4f\u89c8\u5668\u4e2d\u8fd0\u884c\u7684\u4ee3\u7801\u3002\u53ea\u5141\u8bb8\u5728\u8be5\u9886\u57df\u4e2d\u8fd0\u884c\u5e73\u53f0\u4ee3\u7801\u3002LWS \u8fd8\u4f1a\u963b\u6b62\u5206\u6790\u811a\u672c\u8bbf\u95ee JavaScript \u6c99\u7bb1\u4e2d\u7684\u5168\u5c40\u5bf9\u8c61\uff0c\u56e0\u4e3a\u8fd9\u4e9b\u811a\u672c\u4e0d\u5c5e\u4e8e\u4e3a\u6c99\u7bb1\u4fdd\u7559\u7684\u547d\u540d\u7a7a\u95f4\u3002<\/p>\n\n\n\n<p>Experience Cloud \u7ad9\u70b9\u53ef\u4ee5\u4f7f\u7528\u89e3\u51b3\u65b9\u6cd5\u4f7f\u5206\u6790\u5e93\u80fd\u591f\u4e0e Lightning Locker \u914d\u5408\u4f7f\u7528\u3002\u5982\u679c\u5728\u7ec4\u7ec7\u4e2d\u542f\u7528\u4e86 LWS \u800c\u4e0d\u662f Lightning Locker\uff0c\u5219\u6b64\u65b9\u6cd5\u4e5f\u6709\u6548\u3002\u6b64\u89e3\u51b3\u65b9\u6cd5\u4ec5\u9002\u7528\u4e8e Experience Cloud \u7ad9\u70b9\uff0c\u56e0\u4e3a Experience Builder \u5141\u8bb8\u7ba1\u7406\u5458\u8bbf\u95ee\u7ad9\u70b9\u7684\u6807\u8bb0\u3002\u5176\u4ed6 Salesforce \u5e94\u7528\u7a0b\u5e8f\u548c\u7ec4\u4ef6\u4e0d\u5141\u8bb8\u6b64\u7c7b\u8bbf\u95ee\u3002\u6709\u5173\u66f4\u591a\u4fe1\u606f\uff0c\u8bf7\u53c2\u9605&nbsp;Experience Cloud \u5f00\u53d1\u4eba\u5458\u6307\u5357\u3002<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"specify-a-mime-type-for-blob-objects-in-lws\">\u5728 LWS \u4e2d\u6307\u5b9a Blob \u5bf9\u8c61\u7684 MIME \u7c7b\u578b<\/h2>\n\n\n\n<p>Lightning Web Security \u8981\u6c42\u60a8\u5728\u521b\u5efa Blob \u5bf9\u8c61\u65f6\u8bbe\u7f6e MIME \u7c7b\u578b\u3002LWS \u5141\u8bb8\u67d0\u4e9b MIME \u7c7b\u578b\uff0c\u6e05\u7406\u67d0\u4e9b MIME \u7c7b\u578b\uff0c\u5e76\u963b\u6b62\u5176\u4f59\u7c7b\u578b\u3002<\/p>\n\n\n\n<p>\u521b\u5efa Blob \u5bf9\u8c61\u65f6\u663e\u5f0f\u8bbe\u7f6e MIME \u7c7b\u578b\u3002<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>const blob = new Blob(&#91;result], { type: \"text\/plain\" });<\/code><\/pre>\n\n\n\n<p>\u5982\u679c\u672a\u8bbe\u7f6e\u7c7b\u578b\uff0c\u5219\u4e0d\u4f1a\u4f7f\u7528\u9884\u671f\u5185\u5bb9\u521b\u5efa\u5bf9\u8c61\u3002<\/p>\n\n\n\n<p>LWS \u5141\u8bb8\u8fd9\u4e9b MIME \u7c7b\u578b\uff0c\u4e0e Lightning Locker \u76f8\u540c\u3002<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>application\/octet-stream<\/code>\u2014 \u4e8c\u8fdb\u5236\u6587\u4ef6\u7684\u9ed8\u8ba4\u503c<\/li>\n\n\n\n<li><code>application\/json<\/code>\u2014 JSON \u683c\u5f0f<\/li>\n\n\n\n<li><code>application\/pdf<\/code>\u2014 \u53ef\u79fb\u690d\u6587\u6863\u683c\u5f0f \uff08.pdf\uff09<\/li>\n\n\n\n<li><code>video\/<\/code>\u2014 \u6240\u6709\u54d1\u5267\u7c7b\u578b<code>video\/*<\/code><\/li>\n\n\n\n<li><code>audio\/<\/code>\u2014 \u6240\u6709\u54d1\u5267\u7c7b\u578b<code>audio\/*<\/code><\/li>\n\n\n\n<li><code>image\/<\/code>\u2014 \u6240\u6709\u54d1\u5267\u7c7b\u578b<code>image\/*<\/code><\/li>\n\n\n\n<li><code>font\/<\/code>\u2014 \u6240\u6709\u54d1\u5267\u7c7b\u578b<code>font\/*<\/code><\/li>\n\n\n\n<li><code>text\/plain<\/code>\u2014 \u6587\u672c \uff08.txt\uff09<\/li>\n\n\n\n<li><code>text\/markdown<\/code>\u2014 \u964d\u4ef7 \uff08.md\uff09<\/li>\n\n\n\n<li><code>application\/zip<\/code>\u2014 \u538b\u7f29\u5b58\u6863 \uff08.zip\uff09<\/li>\n\n\n\n<li><code>application\/x-bzip<\/code>\u2014 Bzip \u5b58\u6863 \uff08.bz\uff09<\/li>\n\n\n\n<li><code>application\/x-rar-compressed<\/code>\u2014 RAR \u5b58\u6863 \uff08.rar\uff09<\/li>\n\n\n\n<li><code>application\/x-tar<\/code>\u2014 \u78c1\u5e26\u5b58\u6863 \uff08.tar\uff09<\/li>\n<\/ul>\n\n\n\n<p>LWS \u6e05\u7406 \u3001 \u548c MIME \u7c7b\u578b\u3002\u8fd9\u4e9b\u7c7b\u578b\u662f\u5141\u8bb8\u7684\uff0c\u4f46 LWS \u4f1a\u5220\u9664\u6f5c\u5728\u7684\u6076\u610f\u4ee3\u7801\u3002<code>text\/html<\/code><code>image\/svg+xml<\/code><code>text\/xml<\/code><\/p>\n\n\n\n<p>\u4efb\u4f55\u5176\u4ed6\u7c7b\u578b\u90fd\u4f1a\u88ab\u963b\u6b62\uff0c\u5e76\u663e\u793a\u9519\u8bef\u6d88\u606f\u3002<code>Unsupported MIME type<\/code><\/p>\n\n\n\n<p>\u82e5\u8981\u53d1\u9001\u672a\u660e\u786e\u5141\u8bb8\u7684\u4e8c\u8fdb\u5236\u6587\u4ef6\uff0c\u8bf7\u5c06 MIME \u7c7b\u578b\u6307\u5b9a\u4e3a .<code>application\/octet-stream<\/code><\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"access-iframe-content-in-lws\">\u5728 LWS \u4e2d\u8bbf\u95ee iframe \u5185\u5bb9<\/h2>\n\n\n\n<p>\u542f\u7528 LWS \u540e\uff0c\u5f53\u5185\u5bb9\u6765\u81ea\u540c\u4e00\u6765\u6e90\u65f6\uff0cLightning Web \u7ec4\u4ef6\u53ef\u4ee5\u8bbf\u95ee\u5143\u7d20\u4e2d\u7684\u5185\u5bb9\u3002Lightning Locker \u53ef\u9632\u6b62\u8bbf\u95ee\u6765\u81ea\u540c\u4e00\u6765\u6e90\u7684\u5185\u5bb9\u3002<code>iframe<\/code><code>iframe<\/code><\/p>\n\n\n\n<p>Web \u6d4f\u89c8\u5668\u4f1a\u963b\u6b62\u8bbf\u95ee\u6765\u81ea\u4e0d\u540c\u6765\u6e90\u7684\u5185\u5bb9\u3002 \u6d4f\u89c8\u5668\u9075\u5faa\u540c\u6e90\u7b56\u7565\u6765\u963b\u6b62\u5143\u7d20\u4e2d\u7684\u8de8\u57df\u5185\u5bb9\u3002\u67d0\u4e9b\u5c5e\u6027\uff08\u4f8b\u5982\uff09\u662f\u5141\u8bb8\u7684\u3002\u6709\u5173\u8de8\u57df\u53ef\u8bbf\u95ee\u7a97\u53e3\u5c5e\u6027\u7684\u8be6\u7ec6\u4fe1\u606f\uff0c\u8bf7\u53c2\u9605 HTML \u89c4\u8303\u4e2d\u7684&nbsp;CrossOriginProperties\u3002<code>iframeiframe.contentWindow.postMessage<\/code><\/p>\n\n\n\n<p>LWS \u8de8\u6c99\u7bb1\u8fb9\u754c\u7ef4\u62a4\u6807\u8bc6\uff0c\u4ee5\u4fbf\u68c0\u67e5\u4e8b\u4ef6\u6e90\u7684\u6807\u8bc6\u6b63\u5e38\u5de5\u4f5c\u3002<code>iframe<\/code><code>postMessage<\/code><\/p>\n\n\n\n<p>LWS \u4e0d\u5141\u8bb8 Blob \u5bf9\u8c61\u4e2d\u7684\u5143\u7d20\u3002<code>iframe<\/code><\/p>\n\n\n\n<p>LWS \u5c06\u5143\u7d20\u7684\u5c5e\u6027\u9650\u5236\u4e3a\u4f7f\u7528 \u548c \u65b9\u6848\u7684\u503c\u3002\u4e0d\u5141\u8bb8\u4f7f\u7528\u7c7b\u4f3c\u7684 URL \u65b9\u6848\u3002<code>src<\/code><code>iframe<\/code><code>http:\/\/<\/code><code>https:\/\/<\/code><code>javascript:\/\/<\/code><\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"url-protocol-schemes-allowed\">\u5141\u8bb8\u7684 URL \u534f\u8bae\u65b9\u6848<\/h2>\n\n\n\n<p>LWS \u5c06&nbsp;<code>HTMLObjectElement.data<\/code>&nbsp;\u5c5e\u6027\u548c\u5143\u7d20\u7684\u5c5e\u6027\u9650\u5236\u4e3a\u4f7f\u7528 \u548c \u65b9\u6848\u7684\u503c\u3002\u4e0d\u5141\u8bb8\u4f7f\u7528\u7c7b\u4f3c\u7684 URL \u65b9\u6848\u3002<code>srciframehttp:\/\/https:\/\/javascript:\/\/<\/code><\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"sanitization-by-lws\">LWS \u6d88\u6bd2<\/h2>\n\n\n\n<p>LWS \u4f1a\u6e05\u7406 Lightning \u7ec4\u4ef6\u4e2d\u4f7f\u7528\u7684 HTML \u548c SVG \u5143\u7d20\u4e2d\u7684\u5185\u5bb9\u5b57\u7b26\u4e32\u3002LWS \u4f1a\u68c0\u67e5\u5b57\u7b26\u4e32\u5e76\u5220\u9664\u5b58\u5728\u6f5c\u5728\u5b89\u5168\u98ce\u9669\u7684\u5185\u5bb9\u3002\u6b64\u6e05\u7406\u8fc7\u7a0b\u53ef\u9632\u6b62\u8de8\u7ad9\u70b9\u811a\u672c \uff08XSS\uff09 \u653b\u51fb\u3002<\/p>\n\n\n\n<p>LWS \u4f7f\u7528\u5143\u7d20\u548c\u5c5e\u6027\u7684\u5141\u8bb8\u5217\u8868\uff0c\u8fd9\u4e9b\u5143\u7d20\u548c\u5c5e\u6027\u5728\u6e05\u7406\u540e\u53ef\u4ee5\u4fdd\u7559\u5728 DOM \u6811\u4e2d\u3002<\/p>\n\n\n\n<p>LWS \u5bf9\u5c5e\u6027\uff08\u5982 \u548c \uff09\u6267\u884c\u5b57\u7b26\u4e32\u6e05\u7406\u7b49\u5931\u771f\u3002LWS \u53ef\u4ee5\u5bf9\u67d0\u4e9b\u5143\u7d20\u5e94\u7528\u591a\u79cd\u5931\u771f\uff0c\u4ee5\u9632\u6b62\u4e0d\u5b89\u5168\u884c\u4e3a\u5e76\u5220\u9664\u4e0d\u5b89\u5168\u5185\u5bb9\u3002<code>innerHTML<\/code><code>setHTML<\/code><\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"html-allowlist-for-lws-sanitizer\">LWS Sanitizer \u7684 HTML \u5141\u8bb8\u5217\u8868<\/h2>\n\n\n\n<p>\u4ee5\u4e0b\u662f\u5141\u8bb8\u7684\u5143\u7d20\u5217\u8868\uff0c\u8fd9\u4e9b\u5143\u7d20\u5728\u6e05\u7406\u540e\u4fdd\u7559\u5728 DOM \u4e2d\u3002LWS \u4f1a\u5220\u9664\u4e0d\u5728\u6b64\u5217\u8868\u4e2d\u7684 HTML \u5143\u7d20\u3002<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>a, abbr, acronym, address, area, article, aside, audio<\/code><\/li>\n\n\n\n<li><code>b, bdi, bdo, big, blockquote, body, br, button<\/code><\/li>\n\n\n\n<li><code>caption, canvas, center, cite, code, col, colgroup, command<\/code><\/li>\n\n\n\n<li><code>datalist, dd, del, details, dfn, dir, div, dl, dt<\/code><\/li>\n\n\n\n<li><code>em<\/code><\/li>\n\n\n\n<li><code>fieldset, figure, figcaption, footer, form<\/code><\/li>\n\n\n\n<li><code>h1, h2, h3, h4, h5, h6, head, header, hgroup, hr<\/code><\/li>\n\n\n\n<li><code>i, iframe, img, input, ins<\/code><\/li>\n\n\n\n<li><code>keygen, kbd<\/code><\/li>\n\n\n\n<li><code>label, legend, li<\/code><\/li>\n\n\n\n<li><code>map, mark, menu, meter<\/code><\/li>\n\n\n\n<li><code>nav<\/code><\/li>\n\n\n\n<li><code>ol, optgroup, option, output<\/code><\/li>\n\n\n\n<li><code>p, pre, progress<\/code><\/li>\n\n\n\n<li><code>q<\/code><\/li>\n\n\n\n<li><code>rp, rt, ruby<\/code><\/li>\n\n\n\n<li><code>s, samp, section, select, small, source, span, strike, strong, style, sub, summary, sup<\/code><\/li>\n\n\n\n<li><code>table, tbody, td, textarea, tfoot, th, thead, time, tr, track, tt<\/code><\/li>\n\n\n\n<li><code>u, ul<\/code><\/li>\n\n\n\n<li><code>var, video<\/code><\/li>\n\n\n\n<li><code>wbr<\/code><\/li>\n<\/ul>\n\n\n\n<p>\u4f8b\u5982\uff0c\u6b64\u4ee3\u7801\u5305\u542b\u4e0d\u5141\u8bb8\u7684\u6807\u8bb0\u3002<code>&lt;script&gt;<\/code><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;div&gt;\n  &lt;script&gt;\n    alert(1);\n  &lt;\/script&gt;\n&lt;\/div&gt;<\/code><\/pre>\n\n\n\n<p>\u6d88\u6bd2\u540e\uff0c\u5b83\u53d8\u6210\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;div&gt;&lt;\/div&gt;<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"svg-allowlist-for-lws\">LWS \u7684 SVG \u5141\u8bb8\u5217\u8868<\/h2>\n\n\n\n<p>SVG \u53ef\u80fd\u6210\u4e3a\u8de8\u7ad9\u70b9\u811a\u672c \uff08XSS\uff09 \u653b\u51fb\u7684\u76ee\u6807\uff0c\u56e0\u4e3a\u5b83\u5bf9\u52a0\u8f7d\u548c\u6267\u884c\u5916\u90e8\u8d44\u6e90\u7684\u5bbd\u677e\u65b9\u6cd5\u3002LWS \u5728\u9047\u5230\u6f5c\u5728\u7684\u6076\u610f\u5185\u5bb9\u65f6\u4f1a\u5e94\u7528 SVG \u6e05\u7406\u89c4\u5219\u6765\u9632\u6b62 XSS \u653b\u51fb\u3002<\/p>\n\n\n\n<p>SVG \u8bed\u8a00\u5305\u542b\u53ef\u5728\u6807\u7b7e\u4e2d\u4f7f\u7528\u7684\u5927\u91cf\u5143\u7d20\u5217\u8868\u3002<code>&lt;svg&gt;<\/code><\/p>\n\n\n\n<p>\u4ee5\u4e0b\u662f LWS \u8ba4\u4e3a\u5b89\u5168\u5e76\u5141\u8bb8\u5728\u6d88\u6bd2\u540e\u4fdd\u7559\u5728\u5143\u7d20\u4e2d\u7684\u5143\u7d20\u5217\u8868\u3002LWS \u4f1a\u5220\u9664\u4e0d\u5728\u6b64\u5217\u8868\u4e2d\u7684\u5143\u7d20\u3002<code>svg<\/code><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>a, altglyph, altglyphdef, altglyphitem, animatecolor, animatemotion, animatetransform, audio<\/code><\/li>\n\n\n\n<li><code>canvas, circle, clippath<\/code><\/li>\n\n\n\n<li><code>defs, desc<\/code><\/li>\n\n\n\n<li><code>ellipse<\/code><\/li>\n\n\n\n<li><code>filter, font<\/code><\/li>\n\n\n\n<li><code>g, glyph, glyphref<\/code><\/li>\n\n\n\n<li><code>hkern<\/code><\/li>\n\n\n\n<li><code>image<\/code><\/li>\n\n\n\n<li><code>line, lineargradient<\/code><\/li>\n\n\n\n<li><code>marker, mask, mpath<\/code><\/li>\n\n\n\n<li><code>path, pattern, polygon, polyline<\/code><\/li>\n\n\n\n<li><code>radialgradient, rect<\/code><\/li>\n\n\n\n<li><code>stop, switch, symbol<\/code><\/li>\n\n\n\n<li><code>text, textpath, title, tref, tspan<\/code><\/li>\n\n\n\n<li><code>use<\/code><\/li>\n\n\n\n<li><code>video, view, vkern<\/code><\/li>\n<\/ul>\n\n\n\n<p>\u4f8b\u5982\uff0c\u6b64\u5143\u7d20\u5305\u542b\u4e00\u4e2a\u5141\u8bb8\u7684\u5143\u7d20\u548c\u4e00\u4e2a\u4e0d\u5141\u8bb8\u7684\u5143\u7d20\u3002<code>svg<\/code><code>g<\/code><code>script<\/code><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;svg&gt;\n  &lt;g&gt;&lt;\/g&gt;\n  &lt;script&gt;&lt;\/script&gt;\n&lt;\/svg&gt;<\/code><\/pre>\n\n\n\n<p>\u6e05\u7406\u540e\uff0c\u6b64\u4ee3\u7801\u53d8\u4e3a\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;svg&gt;&lt;g&gt;&lt;\/g&gt;&lt;\/svg&gt;<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"static-resources-in-svg-elements\">SVG \u5143\u7d20\u4e2d\u7684\u9759\u6001\u8d44\u6e90<\/h2>\n\n\n\n<p>LWS \u4f1a\u6e05\u7406\u4f7f\u7528\u6807\u7b7e\u548c\u652f\u6301\u5c5e\u6027\u7684\u5176\u4ed6 SVG \u5143\u7d20\u52a0\u8f7d\u7684\u8d44\u6e90\u3002<code>&lt;use&gt;<\/code><code>href<\/code><\/p>\n\n\n\n<p>\u4f8b\u5982\uff0c\u6b64\u6807\u8bb0\u4e2d\u7684 URL \u5df2\u6e05\u7406\u3002<code>&lt;use&gt;<\/code><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;use href=\"foo.svg#circle\"&gt;&lt;\/use&gt;<\/code><\/pre>\n\n\n\n<p>LWS \u5c06\u8be5\u503c\u66ff\u6362\u4e3a\u6e05\u7406\u503c\u3002\u6e05\u7406\u540e\u7684 URL \u7c7b\u4f3c\u4e8e\uff1a<code>href<\/code><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;use href=\"httplocalhostfoo_svg#circle\"&gt;&lt;\/use&gt;<\/code><\/pre>\n\n\n\n<p>\u6e05\u7406\u540e\u7684 URL \u5728\u6c99\u76d2\u4e4b\u5916\u662f\u672a\u77e5\u7684\u3002<\/p>\n\n\n\n<p>\u5c3d\u7ba1\u5bf9 DOM \u8fdb\u884c\u4e86\u66f4\u6539\uff0c\u4f46\u5185\u5bb9\u4ecd\u6309\u9884\u671f\u8fd0\u884c\u3002<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"content-security-policy-overview\">\u5185\u5bb9\u5b89\u5168\u7b56\u7565\u6982\u8ff0<\/h2>\n\n\n\n<p>Lightning \u7ec4\u4ef6\u6846\u67b6\u4f7f\u7528\u5185\u5bb9\u5b89\u5168\u7b56\u7565 \uff08CSP\uff09 \u5bf9\u5185\u5bb9\u65bd\u52a0\u9650\u5236\u3002\u4e3b\u8981\u76ee\u6807\u662f\u5e2e\u52a9\u9632\u6b62\u8de8\u7ad9\u70b9\u811a\u672c \uff08XSS\uff09 \u548c\u5176\u4ed6\u4ee3\u7801\u6ce8\u5165\u653b\u51fb\u3002<\/p>\n\n\n\n<p>CSP \u662f\u4e00\u79cd W3C \u6807\u51c6\uff0c\u5b83\u5b9a\u4e49\u4e86\u7528\u4e8e\u63a7\u5236\u53ef\u5728\u9875\u9762\u4e0a\u52a0\u8f7d\u7684\u5185\u5bb9\u6e90\u7684\u89c4\u5219\u3002\u6240\u6709 CSP \u89c4\u5219\u90fd\u5728\u9875\u9762\u7ea7\u522b\u5de5\u4f5c\uff0c\u5e76\u5e94\u7528\u4e8e\u6240\u6709\u7ec4\u4ef6\u548c\u5e93\u3002Web \u6d4f\u89c8\u5668\u9075\u5faa\u7f51\u9875\u6807\u9898\u4e2d\u6307\u5b9a\u7684 CSP \u89c4\u5219\u6765\u963b\u6b62\u5411\u672a\u77e5\u670d\u52a1\u5668\u8bf7\u6c42\u8d44\u6e90\uff0c\u5305\u62ec\u811a\u672c\u3001\u56fe\u50cf\u548c\u5176\u4ed6\u6570\u636e\u3002CSP \u6307\u4ee4\u4e5f\u9002\u7528\u4e8e\u5ba2\u6237\u7aef JavaScript\uff0c\u4f8b\u5982\u901a\u8fc7\u9650\u5236 HTML \u4e2d\u7684\u5185\u8054 JavaScript\u3002<\/p>\n\n\n\n<p>\u8be5\u6846\u67b6\u652f\u6301\u4ee5\u4e0b\u7279\u5b9a\u7684 CSP \u89c4\u5219\uff1aJavaScript \u5e93\u53ea\u80fd\u4ece\u60a8\u7684\u7ec4\u7ec7\u5f15\u7528<\/p>\n\n\n\n<p>\u6240\u6709\u5916\u90e8 JavaScript \u5e93\u90fd\u5fc5\u987b\u4f5c\u4e3a\u9759\u6001\u8d44\u6e90\u4e0a\u4f20\u5230\u60a8\u7684\u7ec4\u7ec7\u3002\u8be5\u6307\u4ee4\u8981\u6c42\u4ece\u540c\u4e00\u6e90\u8c03\u7528\u811a\u672c\u6e90\u3002\u6709\u5173\u8be6\u7ec6\u4fe1\u606f\uff0c\u8bf7\u53c2\u9605\u4f7f\u7528\u7b2c\u4e09\u65b9 JavaScript \u5e93\u3002<code>script-src 'self'<\/code>\u9ed8\u8ba4\u60c5\u51b5\u4e0b\uff0c\u8d44\u6e90\u5fc5\u987b\u4f4d\u4e8e\u60a8\u7684\u7ec4\u7ec7\u4e2d<\/p>\n\n\n\n<p>\u3001 \u3001 \u3001 \u548c \u6307\u4ee4\u8bbe\u7f6e\u4e3a \u3002\u56e0\u6b64\uff0c\u9ed8\u8ba4\u60c5\u51b5\u4e0b\uff0c\u5b57\u4f53\u3001\u56fe\u50cf\u3001\u89c6\u9891\u3001\u6846\u67b6\u5185\u5bb9\u3001CSS \u548c\u811a\u672c\u7b49\u8d44\u6e90\u5fc5\u987b\u4f4d\u4e8e\u7ec4\u7ec7\u4e2d\u3002<code>font-src<\/code><code>img-src<\/code><code>media-src<\/code><code>frame-src<\/code><code>style-src<\/code><code>connect-src<\/code><code>'self'<\/code><\/p>\n\n\n\n<p>\u53ef\u4ee5\u901a\u8fc7\u6dfb\u52a0\u53d7\u4fe1\u4efb\u7684 URL\uff08\u4ee5\u524d\u79f0\u4e3a CSP \u53d7\u4fe1\u4efb\u7684\u7ad9\u70b9\uff09\u6765\u66f4\u6539 CSP \u6307\u4ee4\u4ee5\u5141\u8bb8\u8bbf\u95ee\u7b2c\u4e09\u65b9\u8d44\u6e90\u3002\u6709\u5173\u8be6\u7ec6\u4fe1\u606f\uff0c\u8bf7\u53c2\u9605\u7ba1\u7406\u53d7\u4fe1\u4efb\u7684 URL\u3002<\/p>\n\n\n\n<p>\u4f46\u662f\uff0c\u60a8\u65e0\u6cd5\u5c06\u8fd9\u4e9b\u8d44\u6e90\u7684\u534f\u8bae\u4ece HTTPS \u66f4\u6539\u4e3a HTTP\u3002\u8d44\u6e90\u7684 HTTPS \u8fde\u63a5<\/p>\n\n\n\n<p>\u6240\u6709\u5bf9\u5916\u90e8\u5b57\u4f53\u3001\u56fe\u50cf\u3001\u6846\u67b6\u548c CSS \u7684\u5f15\u7528\u90fd\u5fc5\u987b\u4f7f\u7528 HTTPS URL\u3002\u65e0\u8bba\u8d44\u6e90\u4f4d\u4e8e\u60a8\u7684\u7ec4\u7ec7\u4e2d\u8fd8\u662f\u901a\u8fc7\u53d7\u4fe1\u4efb\u7684 URL \u8bbf\u95ee\uff0c\u6b64\u8981\u6c42\u90fd\u9002\u7528\u3002\u4e0d\u5141\u8bb8\u5185\u8054 JavaScript<\/p>\n\n\n\n<p>\u811a\u672c\u6807\u8bb0\u4e0d\u80fd\u7528\u4e8e\u52a0\u8f7d JavaScript\uff0c\u4e8b\u4ef6\u5904\u7406\u7a0b\u5e8f\u4e0d\u80fd\u4f7f\u7528\u5185\u8054 JavaScript\u3002\u4e0d\u5141\u8bb8\u4f7f\u7528\u6307\u4ee4\u7684\u6e90\u3002\u4f8b\u5982\uff0c\u963b\u6b62\u4f7f\u7528\u4e8b\u4ef6\u5904\u7406\u7a0b\u5e8f\u8fd0\u884c\u5185\u8054\u811a\u672c\u7684\u8fd9\u79cd\u5c1d\u8bd5\uff1a<code>unsafe-inline<\/code><code>script-src<\/code><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;button onclick=\"doSomething()\"&gt;&lt;\/button&gt;<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">\u6d4f\u89c8\u5668\u652f\u6301<\/h2>\n\n\n\n<p>\u5e76\u975e\u6240\u6709\u6d4f\u89c8\u5668\u90fd\u5f3a\u5236\u5b9e\u65bd CSP\u3002\u6709\u5173\u5f3a\u5236\u5b9e\u65bd CSP \u7684\u6d4f\u89c8\u5668\u5217\u8868\uff0c\u8bf7\u53c2\u9605\u00a0<code>caniuse.com<\/code>\u3002<\/p>\n\n\n\n<p>\u6ce8\u610f<\/p>\n\n\n\n<p>IE11 \u4e0d\u652f\u6301 CSP\uff0c\u56e0\u6b64\u6211\u4eec\u5efa\u8bae\u4f7f\u7528\u5176\u4ed6\u53d7\u652f\u6301\u7684\u6d4f\u89c8\u5668\u6765\u589e\u5f3a\u5b89\u5168\u6027\u3002\u5bf9 IE11 \u7684\u652f\u6301\u5c06\u4e8e 2022 \u5e74 12 \u6708 31 \u65e5\u7ed3\u675f\u3002<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u67e5\u627e CSP \u51b2\u7a81<\/h2>\n\n\n\n<p>CSP \u7b56\u7565\u51b2\u7a81\u8bb0\u5f55\u5728\u6d4f\u89c8\u5668\u7684\u5f00\u53d1\u4eba\u5458\u63a7\u5236\u53f0\u4e2d\u3002\u5982\u679c\u5e94\u7528\u7684\u529f\u80fd\u4e0d\u53d7\u5f71\u54cd\uff0c\u5219\u53ef\u4ee5\u5ffd\u7565 CSP \u51b2\u7a81\u3002<\/p>\n\n\n\n<p>\u6b64\u6d88\u606f\u662f\u793a\u4f8b\u51b2\u7a81\u3002<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Refused to load the script 'https:\/\/externaljs.docsample.com\/externalLib.js'\nbecause it violates the following Content Security Policy directive: ...<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"stricter-csp-restrictions\">\u66f4\u4e25\u683c\u7684 CSP \u9650\u5236<\/h2>\n\n\n\n<p>Lightning \u7ec4\u4ef6\u6846\u67b6\u4f7f\u7528\u5185\u5bb9\u5b89\u5168\u7b56\u7565 \uff08CSP\uff09\uff08\u8fd9\u662f W3C \u6807\u51c6\uff09\u6765\u63a7\u5236\u53ef\u5728\u9875\u9762\u4e0a\u52a0\u8f7d\u7684\u5185\u5bb9\u6e90\u3002CSP \u89c4\u5219\u5728\u9875\u9762\u7ea7\u522b\u5de5\u4f5c\uff0c\u5e76\u5e94\u7528\u4e8e\u6240\u6709\u7ec4\u4ef6\u548c\u5e93\uff0c\u65e0\u8bba\u662f\u5426\u542f\u7528\u4e86 Lightning Locker \u6216 Lightning Web Security\u3002\u201c\u542f\u7528\u66f4\u4e25\u683c\u7684\u5185\u5bb9\u5b89\u5168\u7b56\u7565\u201d\u7ec4\u7ec7\u8bbe\u7f6e\u53ef\u8fdb\u4e00\u6b65\u964d\u4f4e\u8de8\u7ad9\u70b9\u811a\u672c\u653b\u51fb\u7684\u98ce\u9669\u3002\u9ed8\u8ba4\u60c5\u51b5\u4e0b\uff0c\u6b64\u8bbe\u7f6e\u5904\u4e8e\u542f\u7528\u72b6\u6001\u3002<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u66f4\u4e25\u683c\u7684 CSP \u6709\u4ec0\u4e48\u4f5c\u7528\uff1f<\/h2>\n\n\n\n<p>\u201c\u542f\u7528\u66f4\u4e25\u683c\u7684\u5185\u5bb9\u5b89\u5168\u7b56\u7565\u201d\u8bbe\u7f6e\u7981\u6b62\u6307\u4ee4\u7684\u6e90\u3002\u542f\u7528\u6b64\u8bbe\u7f6e\u540e\uff0c\u6807\u8bb0\u4e0d\u80fd\u7528\u4e8e\u52a0\u8f7d JavaScript\uff0c\u4e8b\u4ef6\u5904\u7406\u7a0b\u5e8f\u4e5f\u4e0d\u80fd\u4f7f\u7528\u5185\u8054 JavaScript\u3002<code>unsafe-inline<\/code><code>script-src<\/code><code>script<\/code><\/p>\n\n\n\n<p>\u5fc5\u987b\u786e\u4fdd\u6240\u6709\u4ee3\u7801\uff08\u5305\u62ec\u7b2c\u4e09\u65b9\u5e93\uff09\u90fd\u9075\u5b88\u6240\u6709 CSP \u9650\u5236\u3002<\/p>\n\n\n\n<p>\u91cd\u8981<\/p>\n\n\n\n<p>Lightning Web Security \uff08LWS\uff09 \u4f9d\u8d56\u4e8e\u66f4\u4e25\u683c\u7684 CSP\u3002\u7981\u7528\u201c\u542f\u7528\u66f4\u4e25\u683c\u7684\u5185\u5bb9\u5b89\u5168\u7b56\u7565\u201d\u8bbe\u7f6e\u4f1a\u964d\u4f4e LWS \u63d0\u4f9b\u7684\u5b89\u5168\u7ea7\u522b\u3002\u6211\u4eec\u5f3a\u70c8\u5efa\u8bae\u60a8\u5728\u542f\u7528 LWS \u65f6\u4fdd\u6301\u542f\u7528\u66f4\u4e25\u683c\u7684\u5185\u5bb9\u5b89\u5168\u7b56\u7565\u5904\u4e8e\u6253\u5f00\u72b6\u6001\u3002<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u66f4\u4e25\u683c\u7684 CSP \u4f1a\u5f71\u54cd\u54ea\u4e9b\u4f53\u9a8c\uff1f<\/h2>\n\n\n\n<p>\u66f4\u4e25\u683c\u7684 CSP \u4f1a\u5f71\u54cd\uff1a<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u95ea\u7535\u4f53\u9a8c<\/li>\n\n\n\n<li>Salesforce \u5e94\u7528\u7a0b\u5e8f<\/li>\n\n\n\n<li>\u60a8\u521b\u5efa\u7684\u72ec\u7acb\u5e94\u7528\uff08\u4f8b\u5982\uff0c<code>myApp.app<\/code>)<\/li>\n<\/ul>\n\n\n\n<p>\u66f4\u4e25\u683c\u7684 CSP \u4e0d\u4f1a\u5f71\u54cd\uff1a<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Salesforce \u7ecf\u5178<\/li>\n\n\n\n<li>\u9002\u7528\u4e8e Salesforce Classic \u7684\u4efb\u4f55\u5e94\u7528\u7a0b\u5e8f\uff0c\u4f8b\u5982 Salesforce Classic \u4e2d\u7684 Salesforce \u63a7\u5236\u53f0<\/li>\n\n\n\n<li>Experience Builder \u7ad9\u70b9\uff0c\u5177\u6709\u81ea\u5df1\u7684 CSP \u8bbe\u7f6e<\/li>\n\n\n\n<li>Lightning Out\uff0c\u5141\u8bb8\u60a8\u5728 Lightning \u5e94\u7528\u7a0b\u5e8f\u4e4b\u5916\u7684\u5bb9\u5668\u4e2d\u8fd0\u884c Lightning \u7ec4\u4ef6\uff0c\u4f8b\u5982 Visualforce \u548c Salesforce \u9009\u9879\u5361 + Visualforce \u7ad9\u70b9\u4e2d\u7684 Lightning \u7ec4\u4ef6\u3002\u5bb9\u5668\u5b9a\u4e49 CSP \u89c4\u5219\u3002<\/li>\n<\/ul>\n\n\n\n<p>\u6ce8\u610f<\/p>\n\n\n\n<p>Experience Builder \u7ad9\u70b9\u4e2d\u7684 CSP \u901a\u8fc7\u6bcf\u4e2a\u7ad9\u70b9\u7684\u8bbe\u7f6e\u5355\u72ec\u63a7\u5236\u3002<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Lightning Web \u5b89\u5168<br \/>\nLightning Web Security \u65e8\u5728\u8ba9\u60a8\u7684\u7ec4\u4ef6\u66f4\u8f7b\u677e\u5730\u4f7f\u7528\u5b89\u5168\u7f16\u7801\u5b9e\u8df5\u3002Lightning Locker \u4e00\u76f4\u662f\u6240\u6709 Lightning \u7ec4\u4ef6\u7684\u9ed8\u8ba4\u5b89\u5168\u67b6\u6784\u3002Lightning Web Security \uff08LWS\uff09 \u6b63\u5728\u53d6\u4ee3 Lightning Locker for Lightning \u7ec4\u4ef6\u3002\u9002\u7528\u4e8e Lightning Web \u7ec4\u4ef6\u548c Aura \u7ec4\u4ef6\u7684 LWS \u5df2\u6b63\u5f0f\u53d1\u5e03\u3002<\/p>\n","protected":false},"author":1,"featured_media":3894,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[233],"tags":[255],"class_list":["post-3892","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-lightning-web-","tag-lightning-web-"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v21.7 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Lightning Web \u5b89\u5168 - \u767d\u767d\u968f\u7b14<\/title>\n<meta name=\"description\" content=\"Lightning Web \u5b89\u5168Lightning Web Security \u65e8\u5728\u8ba9\u60a8\u7684\u7ec4\u4ef6\u66f4\u8f7b\u677e\u5730\u4f7f\u7528\u5b89\u5168\u7f16\u7801\u5b9e\u8df5\u3002Lightning Locker \u4e00\u76f4\u662f\u6240\u6709 Lightning \u7ec4\u4ef6\u7684\u9ed8\u8ba4\u5b89\u5168\u67b6\u6784\u3002Lightning Web Security \uff08LWS\uff09 \u6b63\u5728\u53d6\u4ee3 Lightning Locker for Lightning \u7ec4\u4ef6\u3002\u9002\u7528\u4e8e Lightning Web \u7ec4\u4ef6\u548c Aura \u7ec4\u4ef6\u7684 LWS \u5df2\u6b63\u5f0f\u53d1\u5e03\u3002\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"http:\/\/www.ponybai.com\/?p=3892\" \/>\n<meta property=\"og:locale\" content=\"zh_CN\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Lightning Web \u5b89\u5168 - \u767d\u767d\u968f\u7b14\" \/>\n<meta property=\"og:description\" content=\"Lightning Web \u5b89\u5168Lightning Web Security \u65e8\u5728\u8ba9\u60a8\u7684\u7ec4\u4ef6\u66f4\u8f7b\u677e\u5730\u4f7f\u7528\u5b89\u5168\u7f16\u7801\u5b9e\u8df5\u3002Lightning Locker \u4e00\u76f4\u662f\u6240\u6709 Lightning \u7ec4\u4ef6\u7684\u9ed8\u8ba4\u5b89\u5168\u67b6\u6784\u3002Lightning Web Security \uff08LWS\uff09 \u6b63\u5728\u53d6\u4ee3 Lightning Locker for Lightning \u7ec4\u4ef6\u3002\u9002\u7528\u4e8e Lightning Web \u7ec4\u4ef6\u548c Aura \u7ec4\u4ef6\u7684 LWS \u5df2\u6b63\u5f0f\u53d1\u5e03\u3002\" \/>\n<meta property=\"og:url\" content=\"http:\/\/www.ponybai.com\/?p=3892\" \/>\n<meta property=\"og:site_name\" content=\"\u767d\u767d\u968f\u7b14\" \/>\n<meta property=\"article:published_time\" content=\"2024-01-20T12:54:41+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-12-02T13:04:47+00:00\" \/>\n<meta property=\"og:image\" content=\"http:\/\/www.ponybai.com\/wp-content\/uploads\/2023\/12\/lwsec_architecture.png\" \/>\n\t<meta property=\"og:image:width\" content=\"800\" \/>\n\t<meta property=\"og:image:height\" content=\"361\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"ponybai\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\u4f5c\u8005\" \/>\n\t<meta name=\"twitter:data1\" content=\"ponybai\" \/>\n\t<meta name=\"twitter:label2\" content=\"\u9884\u8ba1\u9605\u8bfb\u65f6\u95f4\" \/>\n\t<meta name=\"twitter:data2\" content=\"13 \u5206\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"http:\/\/www.ponybai.com\/?p=3892#article\",\"isPartOf\":{\"@id\":\"http:\/\/www.ponybai.com\/?p=3892\"},\"author\":{\"name\":\"ponybai\",\"@id\":\"http:\/\/www.ponybai.com\/#\/schema\/person\/935c7592c850c65e1e5eba4530dbf883\"},\"headline\":\"Lightning Web \u5b89\u5168\",\"datePublished\":\"2024-01-20T12:54:41+00:00\",\"dateModified\":\"2023-12-02T13:04:47+00:00\",\"mainEntityOfPage\":{\"@id\":\"http:\/\/www.ponybai.com\/?p=3892\"},\"wordCount\":1234,\"publisher\":{\"@id\":\"http:\/\/www.ponybai.com\/#\/schema\/person\/935c7592c850c65e1e5eba4530dbf883\"},\"keywords\":[\"Lightning Web \u5b89\u5168\"],\"articleSection\":[\"Lightning Web \u7ec4\u4ef6\u5f00\u53d1\u4eba\u5458\u6307\u5357\"],\"inLanguage\":\"zh-Hans\"},{\"@type\":\"WebPage\",\"@id\":\"http:\/\/www.ponybai.com\/?p=3892\",\"url\":\"http:\/\/www.ponybai.com\/?p=3892\",\"name\":\"Lightning Web \u5b89\u5168 - \u767d\u767d\u968f\u7b14\",\"isPartOf\":{\"@id\":\"http:\/\/www.ponybai.com\/#website\"},\"datePublished\":\"2024-01-20T12:54:41+00:00\",\"dateModified\":\"2023-12-02T13:04:47+00:00\",\"description\":\"Lightning Web \u5b89\u5168Lightning Web Security \u65e8\u5728\u8ba9\u60a8\u7684\u7ec4\u4ef6\u66f4\u8f7b\u677e\u5730\u4f7f\u7528\u5b89\u5168\u7f16\u7801\u5b9e\u8df5\u3002Lightning Locker \u4e00\u76f4\u662f\u6240\u6709 Lightning \u7ec4\u4ef6\u7684\u9ed8\u8ba4\u5b89\u5168\u67b6\u6784\u3002Lightning Web Security \uff08LWS\uff09 \u6b63\u5728\u53d6\u4ee3 Lightning Locker for Lightning \u7ec4\u4ef6\u3002\u9002\u7528\u4e8e Lightning Web \u7ec4\u4ef6\u548c Aura \u7ec4\u4ef6\u7684 LWS \u5df2\u6b63\u5f0f\u53d1\u5e03\u3002\",\"breadcrumb\":{\"@id\":\"http:\/\/www.ponybai.com\/?p=3892#breadcrumb\"},\"inLanguage\":\"zh-Hans\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"http:\/\/www.ponybai.com\/?p=3892\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"http:\/\/www.ponybai.com\/?p=3892#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"\u9996\u9875\",\"item\":\"http:\/\/www.ponybai.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Lightning Web \u5b89\u5168\"}]},{\"@type\":\"WebSite\",\"@id\":\"http:\/\/www.ponybai.com\/#website\",\"url\":\"http:\/\/www.ponybai.com\/\",\"name\":\"\u767d\u767d\u968f\u7b14\",\"description\":\"Salesforce\u5b98\u65b9\u8bb2\u5e08\",\"publisher\":{\"@id\":\"http:\/\/www.ponybai.com\/#\/schema\/person\/935c7592c850c65e1e5eba4530dbf883\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"http:\/\/www.ponybai.com\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"zh-Hans\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"http:\/\/www.ponybai.com\/#\/schema\/person\/935c7592c850c65e1e5eba4530dbf883\",\"name\":\"ponybai\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"zh-Hans\",\"@id\":\"http:\/\/www.ponybai.com\/#\/schema\/person\/image\/\",\"url\":\"http:\/\/www.ponybai.com\/wp-content\/uploads\/2025\/03\/cropped-Ihsans-WeChatQR.jpg\",\"contentUrl\":\"http:\/\/www.ponybai.com\/wp-content\/uploads\/2025\/03\/cropped-Ihsans-WeChatQR.jpg\",\"width\":248,\"height\":248,\"caption\":\"ponybai\"},\"logo\":{\"@id\":\"http:\/\/www.ponybai.com\/#\/schema\/person\/image\/\"},\"sameAs\":[\"http:\/\/121.37.188.161\"],\"url\":\"http:\/\/www.ponybai.com\/?author=1\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Lightning Web \u5b89\u5168 - \u767d\u767d\u968f\u7b14","description":"Lightning Web \u5b89\u5168Lightning Web Security \u65e8\u5728\u8ba9\u60a8\u7684\u7ec4\u4ef6\u66f4\u8f7b\u677e\u5730\u4f7f\u7528\u5b89\u5168\u7f16\u7801\u5b9e\u8df5\u3002Lightning Locker \u4e00\u76f4\u662f\u6240\u6709 Lightning \u7ec4\u4ef6\u7684\u9ed8\u8ba4\u5b89\u5168\u67b6\u6784\u3002Lightning Web Security \uff08LWS\uff09 \u6b63\u5728\u53d6\u4ee3 Lightning Locker for Lightning \u7ec4\u4ef6\u3002\u9002\u7528\u4e8e Lightning Web \u7ec4\u4ef6\u548c Aura \u7ec4\u4ef6\u7684 LWS \u5df2\u6b63\u5f0f\u53d1\u5e03\u3002","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"http:\/\/www.ponybai.com\/?p=3892","og_locale":"zh_CN","og_type":"article","og_title":"Lightning Web \u5b89\u5168 - \u767d\u767d\u968f\u7b14","og_description":"Lightning Web \u5b89\u5168Lightning Web Security \u65e8\u5728\u8ba9\u60a8\u7684\u7ec4\u4ef6\u66f4\u8f7b\u677e\u5730\u4f7f\u7528\u5b89\u5168\u7f16\u7801\u5b9e\u8df5\u3002Lightning Locker \u4e00\u76f4\u662f\u6240\u6709 Lightning \u7ec4\u4ef6\u7684\u9ed8\u8ba4\u5b89\u5168\u67b6\u6784\u3002Lightning Web Security \uff08LWS\uff09 \u6b63\u5728\u53d6\u4ee3 Lightning Locker for Lightning \u7ec4\u4ef6\u3002\u9002\u7528\u4e8e Lightning Web \u7ec4\u4ef6\u548c Aura \u7ec4\u4ef6\u7684 LWS \u5df2\u6b63\u5f0f\u53d1\u5e03\u3002","og_url":"http:\/\/www.ponybai.com\/?p=3892","og_site_name":"\u767d\u767d\u968f\u7b14","article_published_time":"2024-01-20T12:54:41+00:00","article_modified_time":"2023-12-02T13:04:47+00:00","og_image":[{"width":800,"height":361,"url":"http:\/\/www.ponybai.com\/wp-content\/uploads\/2023\/12\/lwsec_architecture.png","type":"image\/png"}],"author":"ponybai","twitter_card":"summary_large_image","twitter_misc":{"\u4f5c\u8005":"ponybai","\u9884\u8ba1\u9605\u8bfb\u65f6\u95f4":"13 \u5206"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"http:\/\/www.ponybai.com\/?p=3892#article","isPartOf":{"@id":"http:\/\/www.ponybai.com\/?p=3892"},"author":{"name":"ponybai","@id":"http:\/\/www.ponybai.com\/#\/schema\/person\/935c7592c850c65e1e5eba4530dbf883"},"headline":"Lightning Web \u5b89\u5168","datePublished":"2024-01-20T12:54:41+00:00","dateModified":"2023-12-02T13:04:47+00:00","mainEntityOfPage":{"@id":"http:\/\/www.ponybai.com\/?p=3892"},"wordCount":1234,"publisher":{"@id":"http:\/\/www.ponybai.com\/#\/schema\/person\/935c7592c850c65e1e5eba4530dbf883"},"keywords":["Lightning Web \u5b89\u5168"],"articleSection":["Lightning Web \u7ec4\u4ef6\u5f00\u53d1\u4eba\u5458\u6307\u5357"],"inLanguage":"zh-Hans"},{"@type":"WebPage","@id":"http:\/\/www.ponybai.com\/?p=3892","url":"http:\/\/www.ponybai.com\/?p=3892","name":"Lightning Web \u5b89\u5168 - \u767d\u767d\u968f\u7b14","isPartOf":{"@id":"http:\/\/www.ponybai.com\/#website"},"datePublished":"2024-01-20T12:54:41+00:00","dateModified":"2023-12-02T13:04:47+00:00","description":"Lightning Web \u5b89\u5168Lightning Web Security \u65e8\u5728\u8ba9\u60a8\u7684\u7ec4\u4ef6\u66f4\u8f7b\u677e\u5730\u4f7f\u7528\u5b89\u5168\u7f16\u7801\u5b9e\u8df5\u3002Lightning Locker \u4e00\u76f4\u662f\u6240\u6709 Lightning \u7ec4\u4ef6\u7684\u9ed8\u8ba4\u5b89\u5168\u67b6\u6784\u3002Lightning Web Security \uff08LWS\uff09 \u6b63\u5728\u53d6\u4ee3 Lightning Locker for Lightning \u7ec4\u4ef6\u3002\u9002\u7528\u4e8e Lightning Web \u7ec4\u4ef6\u548c Aura \u7ec4\u4ef6\u7684 LWS \u5df2\u6b63\u5f0f\u53d1\u5e03\u3002","breadcrumb":{"@id":"http:\/\/www.ponybai.com\/?p=3892#breadcrumb"},"inLanguage":"zh-Hans","potentialAction":[{"@type":"ReadAction","target":["http:\/\/www.ponybai.com\/?p=3892"]}]},{"@type":"BreadcrumbList","@id":"http:\/\/www.ponybai.com\/?p=3892#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"\u9996\u9875","item":"http:\/\/www.ponybai.com\/"},{"@type":"ListItem","position":2,"name":"Lightning Web \u5b89\u5168"}]},{"@type":"WebSite","@id":"http:\/\/www.ponybai.com\/#website","url":"http:\/\/www.ponybai.com\/","name":"\u767d\u767d\u968f\u7b14","description":"Salesforce\u5b98\u65b9\u8bb2\u5e08","publisher":{"@id":"http:\/\/www.ponybai.com\/#\/schema\/person\/935c7592c850c65e1e5eba4530dbf883"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"http:\/\/www.ponybai.com\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"zh-Hans"},{"@type":["Person","Organization"],"@id":"http:\/\/www.ponybai.com\/#\/schema\/person\/935c7592c850c65e1e5eba4530dbf883","name":"ponybai","image":{"@type":"ImageObject","inLanguage":"zh-Hans","@id":"http:\/\/www.ponybai.com\/#\/schema\/person\/image\/","url":"http:\/\/www.ponybai.com\/wp-content\/uploads\/2025\/03\/cropped-Ihsans-WeChatQR.jpg","contentUrl":"http:\/\/www.ponybai.com\/wp-content\/uploads\/2025\/03\/cropped-Ihsans-WeChatQR.jpg","width":248,"height":248,"caption":"ponybai"},"logo":{"@id":"http:\/\/www.ponybai.com\/#\/schema\/person\/image\/"},"sameAs":["http:\/\/121.37.188.161"],"url":"http:\/\/www.ponybai.com\/?author=1"}]}},"_links":{"self":[{"href":"http:\/\/www.ponybai.com\/index.php?rest_route=\/wp\/v2\/posts\/3892","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/www.ponybai.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.ponybai.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.ponybai.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.ponybai.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=3892"}],"version-history":[{"count":3,"href":"http:\/\/www.ponybai.com\/index.php?rest_route=\/wp\/v2\/posts\/3892\/revisions"}],"predecessor-version":[{"id":3905,"href":"http:\/\/www.ponybai.com\/index.php?rest_route=\/wp\/v2\/posts\/3892\/revisions\/3905"}],"wp:featuredmedia":[{"embeddable":true,"href":"http:\/\/www.ponybai.com\/index.php?rest_route=\/wp\/v2\/media\/3894"}],"wp:attachment":[{"href":"http:\/\/www.ponybai.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=3892"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.ponybai.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=3892"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.ponybai.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=3892"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}