1

我正在使用 Fancybox 2.0.6 和 jQuery 1.7.2,当我使用以斜杠开头的 href url 时,出现以下错误:

Syntax error, unrecognized expression: /path/to/load

如果我删除斜线,它会起作用。显然,我得到了 404,但打开了幻想框。

是的,我确实需要网址以斜杠开头。

谢谢你。

4

3 回答 3

1

您必须将此属性添加到您的链接:data-fancybox-type="iframe"

于 2013-05-02T12:21:50.387 回答
1

我在带有 Fancybox 2.0.5 的 jQuery 1.7.1 中有类似的问题。

在我的测试中,不仅开头的斜线,斜线前的字母“a”或一个或多个点也会导致同样的问题。似乎输入其他字母或更多字母“a”可以正常工作。

我通过在“href”属性中使用绝对路径来解决它。另一种解决方案,您可以尝试 Fancybox 的“href”选项。(文件

我已经尝试过了,发现使用$(this).attr('href')可以正常工作,即使路径是相对的并且以斜杠开头。

我试过的代码:

$('.fancybox').fancybox({
    href: $(this).attr('href')
});

2012 年 7 月 3 日更新:

我发现我上面尝试的代码并不总是有效,并在这里做了一些演示。使用“类型”选项时似乎没有错误。

于 2012-07-02T08:33:16.803 回答
0

这是一个较旧的线程,但在 Google 上仍然更高。您可以查看在 Github 上为 Fancybox 提交的错误:

https://github.com/fancyapps/fancyBox/issues/290

笔记!如果 fancyBox 无法获取内容类型,将显示错误消息(这与以前使用 'ajax' 作为默认类型的版本不同)。

这意味着您需要指定请求的类型('ajax'、'iframe'、'inline'):

前任:

$('.fancybox').fancybox({
     type: 'ajax'
}); 

或者

$('.fancybox').fancybox({
     type: $.support.ajax? 'ajax':'iframe'
}); 
于 2012-08-14T15:43:40.073 回答