从 iframe 中的图像在主窗口中弹出灯箱

发布于 2024-12-22 17:08:55 字数 193 浏览 1 评论 0原文

我在 iframe 中放置了一个图像库(不是跨域),并且想使用 Lightbox 在主框架中显示 popupdiv。因为现在当点击 iframe 中的图像时,弹出的 div 会覆盖 iframe。

我认为这可能与设置 target="_top" 有关,但这并不能完全解决问题。将 window.top 位置设置为我的主 url 只会导致页面转到该 url。

I have an image gallery placed in an iframe (not cross domain) and would like to use Lightbox to show a popupdiv in the main frame. Because right now when the image in the iframe is clicked, the popup div just covers the iframe.

I think it might have something to do with setting target="_top", but that doesn't quite do the trick. Setting the window.top location to my main url just causes the page to go to that url.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

空名 2024-12-29 17:08:55

无法访问其父内容,除非父框架提供协作 Javascript。

您不应直接通过 嵌入您的图库,而应使用辅助 Javascript 来嵌入它。
然后这个辅助 Javascript 将通过 postMessage() Javascript 进行通信
并且辅助 Javascript 将在顶层执行所需的 DOM 操作,以在顶层框架中打开覆盖

<iframe> cannot access its parent contents unless the parent frame provides a co-operative Javascript.

Instead of embedding your gallery directly via <iframe> you should embed it using a helper Javascript.
Then this helper Javascript would communicate with <iframe> Javascript via postMessage()
and the helper Javascript would do the required DOM manipulation on top level for opening an overlay <div> in the top level frame.

https://developer.mozilla.org/en/DOM/window.postMessage

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文