我正在使用 Fancybox 2.0.6 和 jQuery 1.7.2,当我使用以斜杠开头的 href url 时,出现以下错误:
Syntax error, unrecognized expression: /path/to/load
如果我删除斜线,它会起作用。显然,我得到了 404,但打开了幻想框。
是的,我确实需要网址以斜杠开头。
谢谢你。
我正在使用 Fancybox 2.0.6 和 jQuery 1.7.2,当我使用以斜杠开头的 href url 时,出现以下错误:
Syntax error, unrecognized expression: /path/to/load
如果我删除斜线,它会起作用。显然,我得到了 404,但打开了幻想框。
是的,我确实需要网址以斜杠开头。
谢谢你。
您必须将此属性添加到您的链接:data-fancybox-type="iframe"
我在带有 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 日更新:
我发现我上面尝试的代码并不总是有效,并在这里做了一些演示。使用“类型”选项时似乎没有错误。
这是一个较旧的线程,但在 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'
});