首页 > 解决方案 > 在禁用 CORS 安全性的情况下修改 chrome 中的 iframe

问题描述

我已经安装了 74 Chrome(因为在最新的 chrome 中禁用安全性不起作用)并使用禁用 cors 安全标志运行它:

open -a "Google Chrome 74" --args --disable-web-security --user-data-dir="/Users/Victor/GoogleTmp"

Chrome 已通知我安全功能已禁用。我已成功运行跨域 ajax 请求。

现在,我有一个 iframe,我需要修改它的样式。我用谷歌搜索我可以插入一个链接标签来做到这一点。但即使禁用了安全性,我也收到以下错误:

SecurityError: Blocked a frame with origin "http://localhost:5555" from accessing a cross-origin frame.

我还尝试了其他不同的方法,比如 nginx 代理传递等,但都没有奏效。但我想知道为什么禁用网络安全没有帮助?

这是插入css的示例代码(我使用vuejs)

 let cssLink = document.createElement("link")
 cssLink.href = "style.css"
 cssLink.rel = "stylesheet"
 cssLink.type = "text/css"

 const iframe = this.$refs.vizContainer.firstChild

 this.$refs.vizContainer.firstChild.contentWindow.document.head.appendChild(cssLink)

标签: javascriptgoogle-chromevue.jssecuritycors

解决方案


尝试将crossorigin属性添加到 iframe 并将其设置为匿名

<iframe src="../" crossorigin="anonymous" />

来源:https ://gerardnico.com/web/html/crossorigin


推荐阅读