0

在站点的 url 包含文件名的情况下,我的小部件可以正常工作。fe 它正在使用 www.domain.com/subdomain/path/index.html并且当站点地址为www.domain.com/subdomain/path/时一直显示空白。

这是一种奇怪的行为,我知道 Facebook 的发送框存在一些问题,但我找不到适合我的错误的。

我动态更改 url 并调用 FB.XFBML.parse(); 然后为 facebook 小部件使用这样的代码

<div id="fb-root"></div>
<script>
window.fbAsyncInit = function() {
FB.init({
appId      : 'appID',
    status     : true,
    cookie     : false,
    xfbml      : true 
});
fbApiInit = true; //init flag
};

(function(d, debug){
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 = "http://connect.facebook.net/en_US/all" + (debug ? "/debug" : "") + ".js";
 ref.parentNode.insertBefore(js, ref);

}(文档,/调试/假));

请告诉我应该怎么做。重要的是我宁愿两个地址都可以工作,如果不可能,有机会使用没有 filename.ext 的地址会很棒

4

1 回答 1

0

现在一切正常。我刚刚意识到 Facebook 不允许使用发送无分机地址。我使用 $('.fbMenu :first-child').attr('href',document.location.toString()).attr('ref','text');的文档位置只是一条路径。这样一个简单的代码解决了这个问题:

$('.fbMenu :first-child').attr('href',document.location.toString().indexOf('html')==-1?document.location.toString().replace('#','index.html#'):document.location.toString()).attr('ref','text');

于 2013-02-24T14:30:19.263 回答