阻止脚本执行,因为文档的框架是沙箱 - Angular应用程序

bla*_*zek 13 javascript iframe sandbox angularjs

我有一个奇怪的问题 - 当将应用程序(带有rest api的纯角应用程序)部署到生产服务器并通过其他站点的链接访问其URL时(例如参考电子邮件)我有空白页面 - firefox什么也没说,chrome说

在"网站的URL"中阻止执行脚本,因为文档的框架是沙箱,并且未设置"allow-scripts"权限.

并阻止我所有的.js文件......

这是什么意思?我在互联网上发现了一些关于iframe的内容,但我的网站上没有iframe ...

我认为最奇怪的是,如果我直接访问该链接,一切都可以正常工作......

那么如何避免这种行为呢?

谢谢你的回复

Dav*_*ich 24

错误消息警告Iframe是没有适当权限的沙盒

是的,您正在点击iFrame.这是一个沙盒iFrame的示例.

<iframe sandbox src="http://usercontent.example.net/getusercontent.cgi?id=12193"></iframe>
Run Code Online (Sandbox Code Playgroud)

如果你检查 GMail上的元素,你会发现iFrame到处都是.沙箱属性并不总是自动附加,因为沙箱属性控制允许的内容.

当需要弹出窗口时,属性将更改

<iframe sandbox="allow-same-origin allow-scripts allow-popups allow-forms" src="http://usercontent.example.net/getusercontent.cgi?id=12193"></iframe>
Run Code Online (Sandbox Code Playgroud)

这样做是为了保护用户和邮件应用程序免受XSS的侵害

iFrame必须允许弹出窗口,新窗口或脚本.无论您正在尝试什么(可能只是导航),操作都会被沙箱阻止.

  • "&gt;是的,您正在点击 iFrame。" 我不这么认为。当我从 mailtrap.io 重定向到我的 AngularJS 应用程序时,会出现此错误消息。 (3认同)
  • 如果没有 iframe 元素,也可能会发生此错误 (2认同)