什么是「#fbml=1“;在<;脚本src=";http://connect.facebook.net/en_US/all.js#xfbml=1">?URL不';我没有哈希,但没有它,它就不会';行不通

什么是「#fbml=1“;在<;脚本src=";http://connect.facebook.net/en_US/all.js#xfbml=1">?URL不';我没有哈希,但没有它,它就不会';行不通,facebook,http,facebook-like,Facebook,Http,Facebook Like,\fbml=1在中做什么?(这是从中获得的类似Facebook的官方按钮代码) 另外,在《小提琴手》中,我看到它只是在做一个简单的动作 GET /en_US/all.js HTTP/1.1 但是尝试删除#fbml=1,页面将不会显示类似Facebook的按钮。这里的机制是什么?哈希标记从不发送到服务器,但是Javascript可以通过location.hash访问它,或者在脚本标记中使用它时,访问标记的src属性 这很可能是负责它的代码: window.setTimeout(function

\fbml=1在
中做什么?(这是从中获得的类似Facebook的官方按钮代码)

另外,在《小提琴手》中,我看到它只是在做一个简单的动作

GET /en_US/all.js HTTP/1.1

但是尝试删除
#fbml=1
,页面将不会显示类似Facebook的按钮。这里的机制是什么?

哈希标记从不发送到服务器,但是Javascript可以通过
location.hash
访问它,或者在脚本标记中使用它时,访问标记的
src
属性

这很可能是负责它的代码:

window.setTimeout(function () {
    var a = /(connect.facebook.net|facebook.com\/assets.php).*?#(.*)/;
    FB.Array.forEach(document.getElementsByTagName('script'), function (d) {
        if (d.src) {
            var b = a.exec(d.src);
            if (b) {
                var c = FB.QS.decode(b[2]);
                FB.Array.forEach(c, function (f, e) {
                    if (f == '0') c[e] = 0;
                });
                FB.init(c);
            }
        }
    });
    if (window.fbAsyncInit && !window.fbAsyncInit.hasRun) {
        window.fbAsyncInit.hasRun = true;
        fbAsyncInit();
    }
}, 0);

这是使用
标记的
src
属性来完成的。。。第二种方式……实际上,在本例中,
location.hash
将无法使用它,因为浏览器上的URL没有hash,只有Javascript路径有它。这就是为什么它是使用
标记的
src
完成的。。。这可能是访问它的唯一方式?实际上,这是一种将参数传递给
.js
的智能方法。文件它可以使用
all.js?foo=1
,但这样做会使服务器更有效,因为每次使用不同的参数时,服务器都需要再次提供该文件,即使它以前是作为
all.js
加载的,并且内容都是相同的。