javascript - 在 iframe 外打开一个弹出窗口,但链接在 iframe 内

标签 javascript jquery

在一个 html 页面中,我包含了一个 iFrame。

在 iFrame 中,有一个链接,

<a href="#" class="modal {targetelement:'#newstyle',closetext:'Close details',opentext:'View details'}">open window</a>

如果我在父窗口上添加链接和弹出 html,它工作正常。

但如果我在 iframe 弹出窗口中添加链接,则 html 不会打开。

我的确切要求:打开 iframe 上方的弹出窗口。

我可以将弹出式 html 的位置(在 iframe 或父页面内)移动到任何地方,但不能更改 <a href="#" id="modelboxnew">open window</a> 的位置它应该只在 iframe 中

这是我的弹窗

<div  id="newstyle" > xyax text ..my popup html </div>

最佳答案

您的 iframe 实际上是一个完全不同的页面,因此它可能无法正常工作,因为 iframe 的页面中不存在您的模态 javascript。话虽这么说,即使您将所有 javascript 移动到 iframe 中,从那里启动模态也会使其陷入 iframe 中。

相反,您希望父窗口中包含所有 javascript 和模态 html/css 内容,然后从您的 iframe 链接调用存在于父窗口中的弹出启动函数。因此,在不知道您的确切代码或您使用的框架的情况下,简单来说,基本思想是执行以下操作(假设使用 jquery,因为您将问题标记为这样)...

在您的主窗口中:

<script type="text/javascript" >
    function showPopup() {
        $("#newstyle").dialog();
    }
</script>
...
<div id="newstyle" > xyax text ..my popup html </div>

在你的模式中:

<script type="text/javascript">
    $(function() {
        $("#modelboxnew").click(function() {
            parent.showPopup();
        });
    });
</script>
...
<a href="#" id="modelboxnew" >open window</a>

请注意,您需要控制主页和 iframe,并且它们需要从同一域托管,以免被浏览器的安全性阻止。

关于javascript - 在 iframe 外打开一个弹出窗口,但链接在 iframe 内,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16475678/

相关文章:

javascript - 如何使用 jQuery 将 div 添加到数组,然后使用循环和 fadeOut 方法

javascript - 将值传递到以 # 开头的 jquery 函数中

用于ajax页面的javascript

javascript - 使页面高度为浏览器的 100%

javascript - d3力向图,关注节点双击

javascript - 如何使用 st-table 根据日期时间对数据进行排序

javascript - 如何设置页面之间转换的加载图标?

javascript - 如何使用 XMLHttpRequest 设置 Access-Control-Allow-Origin header

javascript - $this 选择器与 JQuery 的比较

javascript - 如何使用 Jquery/css 更改另一个 td 中 td 的宽度?