如何在角度应用程序中打开其他网站

新手上路,请多包涵

我正在尝试加载其他网站,我将在其中列出网站列表。如果我点击网站链接,它必须在我的角度应用程序中打开网站。是否有角度或任何我可以用来加载他们限制加载网站的网站的选项

我已经尝试使用 HTML 标记元素 iframe、embed、object 和 jquery 加载函数来加载站点。有些网站正在开放,有些网站限制在其他应用程序上打开

<html>
<body>
<iframe src="https://stackoverflow.com" height="100%" width="100%"></iframe>
</body>
</html>

在角度

  <div >
    <iframe id="companyFrame" [src]="sourceURL | safe" class="frame">
    </iframe>
  </div>

  @Pipe({ name: "safe" })
  export class SafePipe implements PipeTransform {
  constructor(private sanitizer: DomSanitizer) {}
  transform(url) {
    return this.sanitizer.bypassSecurityTrustResourceUrl(url);
   }
  }

例如,我希望加载 StackOverflow 主页站点,但出现错误,如 Refused to display ‘ https://stackoverflow.com/ ’ in a frame because it set ‘X-Frame-Options’ to ‘sameorigin’。 如果站点所有者不想允许,则限制在 iframe 中加载页面是浏览器的默认选项。所以我想要替代选项而不是 iframe

原文由 Vignesh Ammasi 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 285
2 个回答

“X-Frame-Options”由所有者/服务器强制执行,因此人们不能像使用 Iframe 的其他网站一样使用他们的网站。

想想这样一种情况:如果您在整个页面的 iframe 中启动 google,那么您可以使用您的 url 来为 google 提供服务,您还可以做更多疯狂的事情。

有一些 chorme/FF 扩展可以用来绕过。但是您不能期望您的所有用户都会使用它。

https://chrome.google.com/webstore/detail/ignore-x-frame-headers/gleekbfjekiniecknbkamfmkohkpodhe

原文由 Pranoy Sarkar 发布,翻译遵循 CC BY-SA 4.0 许可协议

基本上网站的标题是在网络服务器中设置的,如果文件上的标题“X-Frame-Options”设置为同源,则无法从任何其他来源加载该网站。

“X-Frame-Options”是标题设置,基本上不允许任何人将您的网站加载到另一个网站中。

您唯一能做的就是在新标签页/窗口中打开网站,或者您可以在同一个应用程序中重定向。

原文由 Sanjay P Achar 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题