prettyPhoto的rel属性验证错误

时间:2012-09-06 10:17:19

标签: html5

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

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

非常感谢!

3 个答案:

答案 0 :(得分:10)

rel属性与非建议(因此不允许)的值一起使用,对HTML5标记无效。值prettyPhoto不在建议值列表中。因此,您可能会遇到使用图片库传递验证的网页时遇到的困难。

可能的解决方案:

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

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

  2. 在您的图库代码中使用:

    data-gal="prettyPhoto[galname]"

    而不是:

    rel="prettyPhoto[galname]"

  3. 使用以下内容初始化您的prettyPhoto:

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

    并且您正确地使代码有效!

  4. 您还可以使用此可能的解决方案阅读此article

答案 1 :(得分:9)

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

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

答案 2 :(得分:0)

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

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

到:

s = jQuery.extend({
        ...
        hook: "class",
        ...