从 JS / jQuery 设置 iframe src 给出 DOMException:cross-origin

Posted

技术标签:

【中文标题】从 JS / jQuery 设置 iframe src 给出 DOMException:cross-origin【英文标题】:Setting iframe src from JS / jQuery gives DOMException:cross-origin 【发布时间】:2021-06-28 05:01:03 【问题描述】:

我正在尝试使用 JS / jQuery 设置 iframe src(带有相对路径)属性,它会抛出 DOMException。如果我直接在 html 中设置 src 属性,则不会抛出此错误,就在我通过 JS 或 jQuery 设置它时。这是同一个应用程序,所以对我来说没有任何意义,有什么建议吗?

虽然抛出了异常,但它可以工作,但不知道为什么它会给出异常。

VM45:21 Uncaught DOMException: Blocked a frame with origin "https://localhost:8123" from accessing a cross-origin frame. at fix (eval at dj_eval (https://localhost:8123/sisvel/lib/dojo/dojo.js:108:33), <anonymous>:21:8) at fix (eval at dj_eval (https://localhost:8123/sisvel/lib/dojo/dojo.js:108:33), <anonymous>:23:5) at Object.dojo.html.getDocumentWindow (eval at dj_eval (https://localhost:8123/sisvel/lib/dojo/dojo.js:108:33), <anonymous>:26:3) at Object.registerAllWindows (eval at dj_eval (https://localhost:8123/sisvel/lib/dojo/dojo.js:108:33), <anonymous>:212:29) at Array.<anonymous> (https://localhost:8123/sisvel/lib/dojo/dojo.js:259:9) at Object.dojo.hostenv.loaded (https://localhost:8123/sisvel/lib/dojo/dojo.js:239:7) at Object.dojo.hostenv.callLoaded (https://localhost:8123/sisvel/lib/dojo/dojo.js:295:14) at Object.dojo.hostenv.modulesLoaded (https://localhost:8123/sisvel/lib/dojo/dojo.js:288:14) at dj_load_init (https://localhost:8123/sisvel/lib/dojo/dojo.js:851:14)

【问题讨论】:

HTML 是什么样的? 请search your error @mplungjan 这是 iframe <iframe id="frameFormExposicion" class="col-xl hidden"></iframe> @mplungjan 已经读过了,昨天我整天都在那里。但它没有任何意义,它是同一个应用程序,同一个来源,同一个域,正如我所说,如果我将 src 值直接放在 html 中,则不会抛出异常 尝试在没有端口号的真实网络服务器上上传 【参考方案1】:

它是您浏览器中内置的一项安全功能,可防止用户落入骗局,将真实页面封装在虚假框架中,然后对其进行询问。

恐怕无法通过 iframe 解决它。

【讨论】:

一个 iframe 应该可以加载来自同一来源的页面。这更可能是对 localhost 和端口的限制 正如@mplungjan 所说,如果它是同一个域,则该功能没有任何意义,并且如前所述,在 html 中手动设置 src 不会引发异常

以上是关于从 JS / jQuery 设置 iframe src 给出 DOMException:cross-origin的主要内容,如果未能解决你的问题,请参考以下文章

Jquery 获取iframe 中元素并设置CSS问题

jquery 改变iframe内容

使用 jQuery 设置 iFrame 样式

jQuery怎么给iframe的src赋值

怎么通过js或jquery获取iframe里面video 标签,这么做是不是可行?

如何从 vue.js 捕获 Jquery 事件