如何修复拒绝在框架中显示,因为它将 'X-Frame-Options' 设置为 'sameorigin

How to fix Refused to display in a frame because it set 'X-Frame-Options' to 'sameorigin

我在 angular 中使用 i 帧时遇到错误。它拒绝在框架中显示,因为它将 'X-Frame-Options' 设置为 'sameorigin'

拒绝在框架中显示 'https://docs.google.com/gview?url=https://subtreebucket.s3.amazonaws.com/docsFile_1559124133664_dummy.pdf',因为它将 'X-Frame-Options' 设置为 'sameorigin'。

如何从 src url 中剥离 https://docs.google.com/gview?url= 部分?

<iframe 
  src="https://subtreebucket.s3.amazonaws.com/docsFile_1559124133664_dummy.pdf"
  frameborder="0">
</iframe>

有效。


Here's a Working Sample StackBlitz for your ref.

您不能否决:正如您在对您显示的 url 的 GET 请求的响应中看到的那样,有一个响应 header x-frame-options: SAMEORIGIN .

表示源站未授权您在iframe.

内显示此内容

你不能绕过这个,这是一种安全保护:否则会使 session 劫持变得太容易了。

唯一的方法是使用相同的资源 URL 允许您查看(例如 PDF url 直接,此处 https://subtreebucket.s3.amazonaws.com/docsFile_1559124133664_dummy.pdf,或添加embedded=true 到 URL 可能有效,这是 google 文档特定的)。

请使用带安全管的消毒剂,然后添加 link 如下

<iframe class="doc" src="https://docs.google.com/gview?url=https://subtreebucket.s3.amazonaws.com/docsFile_1559124133664_dummy.pdf&embedded=true"></iframe>

确保在 iframe 中添加源代码时使用了 embedded=true。绝对有效

您可以使用 target="_blank" 属性。