单击链接时关闭Magnific Popup Iframe

时间:2014-07-14 21:06:59

标签: javascript iframe popup magnific-popup

所以现在我有一个Magnific Popup iframe打开一个表单(使用Machforms)。

<div align="center">
  <a class="popup-link" href="...machform/view.php?id=3717">
     <img src="images/image.png">
  </a>
</div>

提交表单后,它会重定向到另一个iframe弹出窗口,并在新标签页中打开pdf下载链接。

Thank you. Your submission has been successful! <br/>
<a href=".../downloads/TEST%20DOWNLOAD%20PAGE.pdf" target="_blank">Download file here.
</a>

点击后,此处下载文件。&#39;链接,我希望它能自动关闭弹出窗口。

我该怎么做呢?我已经尝试了closeOnContentClick并覆盖了关闭,但我似乎无法让它适用于该特定链接。

提前致谢!

3 个答案:

答案 0 :(得分:9)

您手动拨打$.magnificPopup.close(),但由于它位于iframe,您需要从父窗口调用它。

这是我在我的一个旧项目中所做的事情

$('#yourlinkID').click(function(e) {
   e.preventDefault();
   if (window.parent == window.top) {
      window.parent.$.magnificPopup.close();
   }
});

答案 1 :(得分:1)

将类.close-my-popup添加到您的链接,并将其添加到您的javascript文件中:

$(document).ready(function() {      
 $('.close-my-popup').click(function() {
    $.magnificPopup.close();
 });
}); 

或者你可以这样做:

<a href=".../downloads/example.pdf" target="_blank" onclick="$.magnificPopup.close();">Download file here.</a>

答案 2 :(得分:0)

将带有javascript的点击处理程序附加到该链接,然后调用window.close()进行回调。

Ex(使用jQuery):

$('[link selector here]').click(function() {
    window.close();
});

确保将其添加到iFrame中的代码中,否则它将关闭主窗口。