我有一个使用 localStorage 的网络应用程序。现在我们希望通过 iframe 将这个 Web 应用程序嵌入到其他(第三方)站点上。我们希望提供一个类似于 youtube 的 iframe 嵌入,以便其他网站可以嵌入我们的网络应用程序在一个 iframe。在功能上,它与不嵌入一样。但是没有用。Chrome 输出错误消息:
Uncaught SecurityError: Failed to read the 'localStorage' property from 'Window': Access is denied for this document.
我只需要(在 iframe 中)执行以下检查:
if (typeof window.localStorage !== 'undefined') {
// SETUP SESSION, AUHT, LOCALE, SETTINGS ETC
} else {
// PROVIDE FEEDBACK TO THE USER
}
我在 Chrome 中检查了我的安全设置,就像 另一个堆栈溢出线程中描述的那样,但是它不起作用。是否有任何改变使嵌入成为可能而不需要调整(默认)大多数现代浏览器的安全设置?
为了提供更多的信息,我们使用 Ember-CLI 作为我们的 Web 应用程序,并打开 CSP(更多关于 Ember-CLI CSP 的信息)。CSP 会导致我们的 Web 应用程序出现安全错误吗?