You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Lightning下权限策略禁止display-capture致Aura组件内嵌iframe屏幕共享报错

修复方案

问题根因

Salesforce Lightning 环境的顶层页面默认启用严格的权限策略(Permission Policy)限制,所有内嵌iframe的权限会继承上层页面的规则。即使你在iframe标签上声明了allow属性,只要上层页面未放行display-capture权限,相关请求就会被拦截。Classic 环境没有这套默认的严格权限策略限制,因此功能运行正常。

操作步骤

  • 第一步:将iframe的src对应域名添加到Salesforce可信站点
    操作路径:设置 → 安全性 → 可信站点,新建可信站点,填入iframe的源域名,勾选所有CSP指令下的媒体、脚本相关访问权限,保存后清空浏览器缓存重试。
  • 第二步:配置全局会话权限策略
    操作路径:设置 → 安全性 → 会话设置,滚动到页面底部的「权限策略」区域,在允许的功能列表中添加display-capture,保存配置后重新登录Salesforce生效。
  • 第三步:调整iframe的allow属性写法
    Lightning 跨域iframe需要显式指定权限生效的源范围,修改后的iframe代码如下:
    <iframe aura:id="someId" allow="camera; microphone; fullscreen; display-capture *" 
            src="someURL" onload="{!c.someAction}"/>
    
    如果你的iframe源域名固定,可以把*替换为具体的源域名,安全性更高。
  • 第四步:(可选,针对自定义打包部署的组件)在Aura组件的.meta.xml设计文件中添加权限声明
    <design:component>
        <design:attribute name="allowFeaturePolicy" value="display-capture; camera; microphone; fullscreen"/>
    </design:component>
    

补充说明

如果你的Aura组件部署在Experience Cloud(原社区/门户)站点下,还需要单独进入对应站点的管理页面,在「安全与隐私」设置中添加对应可信域名,同时在站点的权限策略配置里放行display-capture权限。

内容的提问来源于stack exchange,提问作者Jesus Sanchez

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 00:24:00