花式框 - URL 以“/”开头的语法错误

fancybox - Syntax error with URLs starting with '/'

本文关键字:开头 语法 错误 URL      更新时间:2023-09-26

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

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

如果我删除斜杠,它可以工作。显然,我得到了一个 404,但花哨的盒子打开了。

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

谢谢。

我在 jQuery 1.7.1 中使用 Fancybox 2.0.5 时遇到了类似的问题。

不仅是开头的斜杠,在我的测试中,一个字母"a"或斜杠前的一个或多个点也会导致同样的问题。似乎输入其他字母或更多字母"a"就可以了。

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

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

我尝试的代码:

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

2012年7月3日更新:

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

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

这是一个

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

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

注意!如果 fancyBox 将无法获取内容类型,则错误消息 将显示(这与以前的版本不同,其中 "ajax"用作默认类型)。

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

前任:

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

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