【问题标题】:Lightning embed iframe from another websiteLightning 从另一个网站嵌入 iframe
【发布时间】:2020-08-18 18:04:25
【问题描述】:

我正在尝试构建一个简单的组件来在 Lightning 组件中显示网页。这是我的起始代码。

<aura:component implements="force:appHostable">
    <iframe width="100%" height="350px" style="border: 1px solid" src="https://trailhead.salesforce.com/en/content/learn/trails/wave_analytics_apps" />
</aura:component>

然后我打算使用 iframe 将其嵌入到 Lightning 组件中。有没有办法让它工作?我已经通过禁用它来检查 ClickJack。我在远程站点设置、CORS 和 CSP 受信任站点中创建了记录。我仍然收到此错误。

【问题讨论】:

    标签: salesforce salesforce-lightning


    【解决方案1】:

    不是你,是他们。提示在“{target} 拒绝连接”中。我不知道你对 Chrome 错误控制台做了什么,但错误应该在那里。

    拒绝框架“https://trailhead.salesforce.com/”,因为 祖先违反了以下内容安全策略指令: “框架祖先'无'”。

    https://en.wikipedia.org/wiki/Content_Security_Policy

    该 Trailhead 页面不允许嵌入到其他任何地方,即使在来自同一子域的页面上也是如此。如果您使用src="https://example.com",您的组件将正常工作。通常,您需要与目标网站的所有者交谈以将您的 SF 列入白名单(内部 mydomain 和/或社区,取决于您到底想用它做什么)

    【讨论】:

    • (好名字顺便说一句)。现在这是有道理的。我尝试了一个独立的在线 html 编辑器并遇到了同样的问题。希望不是这样。标记为最佳答案
    【解决方案2】:

    我的朋友。我最近有同样的问题。所以,我解决了临时禁用实现新闻功能的chrome的flags,flags将默认只有84版本的chrome,但是你可以快速赢得这个问题,这样做:

    1 - 转到 chrome://flags/ 进入 chrome 的 url。

    2 - 禁用以下标志:

       - SameSite by default cookies = disabled
       - Enable removing SameSite=None cookies = disabled
       - Cookies without SameSite must be secure = disabled
    

    3 - 点击重新启动。

    对于您在 saleforce 中明确解决的问题,您可以要求自己的(嵌入页面),在您的 cookie 中实现与 cookie 中相同的值:

     - On the cookie set values to:
        - secure = Yes
        - SameSite = NONE.
    

    对我来说解决得很好。 但是,如果您需要使用组件 Aura 通过 iframe 获取事件,请在此处告诉我,我会提供并发布更多信息。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-09-03
      • 1970-01-01
      • 2021-06-07
      • 2019-10-02
      相关资源
      最近更新 更多