我正在使用jQuery fancybox v2,我在实现关闭fancybox弹出窗口的链接时遇到问题。
我有2页:
page.html的来源:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<script type="text/javascript" src="/js/jquery.min.js"></script>
<script type="text/javascript" src="/js/jquery-ui.js"></script>
<script type="text/javascript" src="/fancybox/source/jquery.fancybox.pack.js?v=2.1.5"></script>
<link rel="stylesheet" type="text/css" href="/fancybox/source/jquery.fancybox.css?v=2.1.5" media="screen" />
<script type="text/javascript">
$(document).ready(function() {
$(".fancyboxpopup").fancybox({
iframe: {
preload: false
},
scrolling: 'yes',
padding: 20,
width: 800,
height: 800,
maxWidth: 1000,
maxHeight: 1000,
fitToView: false,
width: '80%',
height: '100%',
autoSize: false,
closeClick: false,
openEffect: 'none',
closeEffect: 'none'
});
});
</script>
</head>
<body>
<div>
<a class="fancyboxpopup" href="popup.html" data-fancybox-type="iframe">open the popup</a>
</div>
</body>
</html>
在fancybox弹出窗口中,我希望有一个关闭链接,可以执行一些javascript(修改page.html上的某些内容)并在单击时关闭弹出窗口。 popup.html的来源:
<html>
<head>
<script type="text/javascript" src="/fancybox/source/jquery.fancybox.pack.js?v=2.1.5"></script>
<script type="text/javascript">
function closePopup() {
// do something on parent (page.html)
// ...
// close the current popup window
$.fancybox.close();
}
</script>
</head>
<body>
<a href="#" onClick="closePopup()">Close popup window</a>
</body>
</html>
根据您使用的fancybox API&#34; $。fancybox.close()&#34;关闭弹出窗口。不幸的是,如果我点击链接,没有任何反应。似乎无法找到 $ .fancybox 。 我也试过&#34; document.parent。$。fancybox.close()&#34;这也不起作用。
知道我在这里可能做错了吗?
答案 0 :(得分:0)
首先:在您的标记中,您链接到map.html
,而不是popup.html
其次,请尝试window.parent.$.fancybox.close()
。