问题
HTML 5 validator is failing on my code despite me following the Facebook documentation to the letter. There are a variety of problems but let's start with one example to start with.
I'm following the Facebook "Getting Started" documentation and using th5is code:
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:og="http://ogp.me/ns#"
xmlns:fb="http://www.facebook.com/2008/fbml">
The only difference is I precede this with <!DOCTYPE html>
for HTML5. When running it through the W3C HTML5 validator I get this error:
Attribute xmlns:og not allowed here
The only things I can think of what the error are:
- Facebook's documentation is wrong
- I'm supposed to add some kind of namespace to the
<!DOCTYPE html>
declaration.
However, in either case I don't know what the fix is. Would love some help!
回答1:
fb's documentation isn't wrong, but their approach to open web is. those are fb proprietary attribute values, so they're not going to ever validate, unless w3c makes them standards. that may sound gloomy, but as long as those are your only validation errors, don't worry about it. validation is an awesome tool, but remember, it's just a tool.
回答2:
So I have run across a version of this same error, 3 years later it seems. Trying to validate my site using HTML5 and although it is experimental, everything validates except these xmlns attributes.
for example..
Error Line 2, Column 105: Attribute xmlns:fb not allowed here. …b="http://ogp.me/ns/fb#" xmlns:addthis="http://www.addthis.com/help/api-spec" >
Warning Line 2, Column 105: Attribute with the local name xmlns:fb is not serializable as XML 1.0. …b="http://ogp.me/ns/fb#" xmlns:addthis="http://www.addthis.com/help/api-spec" >
Error Line 2, Column 105: Attribute xmlns:addthis not allowed here. …b="http://ogp.me/ns/fb#" xmlns:addthis="http://www.addthis.com/help/api-spec" >
Warning Line 2, Column 105: Attribute with the local name xmlns:addthis is not serializable as XML 1.0. …b="http://ogp.me/ns/fb#" xmlns:addthis="http://www.addthis.com/help/api-spec" >
Line 2 of my code is as follows:
2.<html lang="en-US" xmlns:fb="http://ogp.me/ns/fb#" xmlns:addthis="http://www.addthis.com/help/api-spec" >
having researched this error, which mirrors your error, it seems that even 3 years later, there is no viable fix for this. However, it seems that plugins that are following this technique are doing so when there is correct HTML5 code available. So make sure you select the correct code if doing the addin on your site such as the following link for facebook:
HTML5 Facebook Info
That should take care of your errors at the least, for those of us trying to use a plugin to handle multiple likes, shares, and plus ones, it might be best to just do each instance by itself.
来源:https://stackoverflow.com/questions/8338499/html5-validator-failing-on-facebook-opengraph-xml-namespace-xmlnsog