看起来W3C的验证器会在prettyPhoto的HTML5页面的rel属性上返回验证错误。我该如何解决这个错误?
关于元素a的属性rel的错误值prettyPhoto [gallery1]:关键字prettyphoto [gallery1]未注册。
非常感谢!
答案 0 :(得分:10)
将rel
属性与非建议(因此不允许)的值一起使用,对HTML5标记无效。值prettyPhoto
不在建议值列表中。因此,您可能会遇到使用图片库传递验证的网页时遇到的困难。
可能的解决方案:
打开jquery.prettyPhoto.js
(可能是非缩小的)并执行查找&替换文本编辑器的功能:
用attr('rel')
替换所有出现的attr('data-gal')
。
在您的图库代码中使用:
data-gal="prettyPhoto[galname]"
而不是:
rel="prettyPhoto[galname]"
使用以下内容初始化您的prettyPhoto:
jQuery("a[data-gal^='prettyPhoto']").prettyPhoto();
并且您正确地使代码有效!
您还可以使用此可能的解决方案阅读此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",
...