javascript - 在重新加载另一个 html 页面后关闭 iframe

标签 javascript jquery html iframe

我做了以下网站:

www.ppp.one

无论何时打开图像,都会加载一个弹出窗口。

可以使用右上角的 X 关闭此弹出窗口。但是,如果您单击弹出窗口中的其中一个缩略图(重新加载框架),X 按钮将无法再将其关闭。

我使用的 JavaScript:

function hide(){

    if(currentIframe){
        currentIframe.hide();
        currentIframe = null;
    }

    popupBG.remove();
    popup.remove();
}

和 html:

<a class="small align-top" onclick="frameWarp.hide();">&#10006</a>

关于导致问题的原因有什么想法吗?

最佳答案

当您打开弹出窗口时,您会调用一个函数 setUpAPI,它将 frameWrap 对象插入到 iframe 的全局范围内。 单击缩略图时,将重新加载框架,并且 frameWrap 实例不再可用。

您可以尝试在 iframe 上监听 load 事件而不是 ready 事件:

iframe.ready(function(){
  frameCacheDiv.append(iframe);
});
iframe.load(function(){
  setUpAPI(iframe, settings);
  settings.onShow();
});

关于javascript - 在重新加载另一个 html 页面后关闭 iframe,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31860956/

相关文章:

javascript - 从 chrome 扩展插入 iframe 在某些网站上不起作用

javascript - 在 Javascript 列表中随机排列单词

javascript - 如何在所有菜单关闭的情况下加载此 Accordion ?

javascript - 如何将 html 标题属性添加到 jquery ui 日期选择器小部件?

jquery - $.getJSON 永远不会触发成功函数

jquery - jquery如何猜测Ajax方法中更好的数据类型?

css - Html5 中的 iframe 布局

javascript - Owl Carousel 图像未应用 css

javascript - 为什么占位符在 IE8 中不起作用?

javascript - 如何在 Firebase 匿名登录中注册 SignOut 事件的回调?