5

看起来 W3C 的验证器在 HTML5 页面的 prettyPhoto 的 rel 属性上返回了一个验证错误。我该如何解决这个错误?

元素 a 上的属性 rel 的错误值 prettyPhoto[gallery1]:关键字 prettyphoto[gallery1] 未注册。

非常感谢!

4

3 回答 3

10

使用rel具有非提议(因此不允许)值的属性对 HTML5 标记无效。值prettyPhoto不在建议值列表中。因此,您可能会面临通过图片库通过验证来获取网页的困难。

一个可能的解决方案:

  1. 打开jquery.prettyPhoto.js(可能是未缩小的)并执行文本编辑器的查找和替换功能:

    替换所有出现的attr('rel')with attr('data-gal')

  2. 在您的画廊代码中使用:

    data-gal="prettyPhoto[galname]"

    而不是:

    rel="prettyPhoto[galname]"

  3. 使用以下命令初始化您的 prettyPhoto:

    jQuery("a[data-gal^='prettyPhoto']").prettyPhoto();

    并且您正以正确的方式使您的代码有效!

您也可以使用此可能的解决方案阅读本文。

于 2012-09-06T10:26:08.710 回答
9

您可以使用此处hook评论中提到的(未记录的)设置。

像这样指定您的链接:<a href="img.jpg" data-gal="prettyPhoto[gal]"></a>并用于$("a[data-gal^='prettyPhoto'").prettyPhoto({hook: 'data-gal'});初始化 prettyPhoto。

于 2013-04-02T13:11:00.173 回答
0

您还可以通过更新设置以使用类挂钩来修复它:

s = jQuery.extend({
        ...
        hook: "rel",
        animation_speed: "fast",
        ajaxcallback: function() {},
        slideshow: 5e3,
        autoplay_slideshow: false,
        opacity: .8,
        ...

到:

s = jQuery.extend({
        ...
        hook: "class",
        ...
于 2014-08-28T19:03:30.997 回答