在某些文档中,FbAsyncInit以:
结尾(function() {
var e = document.createElement('script');
e.src = document.location.protocol + '//connect.facebook.net/en_US/all.js';
e.async = true;
document.getElementById('fb-root').appendChild(e);
}());
而在其他一些文档中,它的结尾如下:
(function (d) {
var js, id = 'facebook-jssdk', ref = d.getElementsByTagName('script')[0];
if (d.getElementById(id)) { return; }
js = d.createElement('script'); js.id = id; js.async = true;
js.src = "//connect.facebook.net/en_US/all.js";
ref.parentNode.insertBefore(js, ref);
} (document));
哪一个是正确使用的?或者它们可以互换吗?
也
我注意到有时文档会要求你添加html标题:
xmlns:fb="http://ogp.me/ns/fb#"
以及其他地方他们称之为:
xmlns:fb="http://www.facebook.com/2008/fbml"
其中一个是正确的?
哪一个更快?
文档的不同页面似乎是由不同的团队编写的......
感谢您的帮助。
答案 0 :(得分:0)
哪一个是正确使用的?或者它们可以互换吗?
它们是可以互换的;只是两种略有不同的方法做了基本相同的事情。我更喜欢第二个版本 - 它的主要优点是它在脚本元素上设置了一个id,因此如果该函数碰巧在同一页面中放置两次,则不会加载它两次。
其中一个是正确的?
两者都是。 XFBML在旧IE中工作所必需的HTML元素上的命名空间 - 它实际上“指向”并不重要。
哪一个更快?
它们对“速度”没有任何影响,因为给定的URL只是命名空间的标识符,它实际上并不是由浏览器提取的。如果你愿意的话,你也可以把http:// example.com/my-own-fancy-namespace放在那里......