【发布时间】:2011-03-09 19:02:26
【问题描述】:
我正在使用带有 iframe 设置的 Fancybox 1.3.4,该设置在另一个页面中加载到 iframe 中。
$(".fancy").click(function(){
return false;
});
$(".fancy").fancybox({
type: 'iframe',
width: 800,
height: 500,
overlayOpacity: 0.8,
overlayColor: '#222',
showNavArrows: false
});
链接如下所示
<a id="map_link" class="fancy" href="http://example.com/page">link</a>
问题是,每当我单击链接时,它都会正确加载 iframe,但也会强制父页面再次导航到自身。所以这意味着如果我打开和关闭fancybox 10 次,我现在在父页面的浏览器历史记录中还有10 个项目。在所有浏览器中进行了测试,并且遇到了全面的问题。
编辑:Test case
这几乎模仿了我在我的网站上的内容,fancybox-wise。使用 jQuery 1.5、最新的 fancybox 并在 Chrome 11 和 Firefox 3.6.14 中进行测试。当我点击该链接 5 次时,我的浏览历史记录中会出现 5 个父框架站点的实例。
【问题讨论】:
-
比
return false;更好的是 jQuery 的event.preventDefault()。 (link to API) -
你能添加一个测试用例的工作jsFiddle吗?
-
@Exelian 添加了测试用例,在我测试的浏览器中jsFiddle还是有问题。
标签: javascript jquery fancybox