Facebook:如何让Facebook Scraper识别URL中的哈希值

时间:2015-07-25 13:41:25

标签: javascript facebook facebook-graph-api url

我有这个链接:

  

http://example.com/mobile/#!/article/201073733551122/

当您通常在网络浏览器上访问此链接时,您将被重定向到文章页面,因为我在RestAdapter.Builder() //.other settings .setConverter(new GsonConverter(gson)) .build(); 中编写了一个可以执行此操作的JavaScript代码:

mobile/index.php

但是当我在Facebook上发布完全相同的链接时,Facebook将显示该页面的故事:

  

http://www.example.com/mobile/

就像Facebook忽略了if(window.location.hash) { var bitAfterHash = window.location.hash.substr(1); bitAfterHash = bitAfterHash.split('!/').pop(); var parts = bitAfterHash.split('/'); var type = parts[0]; var id = parts[1]; if(type === 'article' || type === 'episode'){ window.location.href="http://www.example.com/redirect/"+type+"/"+id; } }

有没有让Facebook看到文章页面?

提前致谢。

1 个答案:

答案 0 :(得分:1)

我不知道为什么,但Facebook将继续剥离信息。把哈希变成“?”怎么样?然后像这样访问它:

if(window.location.href.search(/\?/) > -1) {
    var bitAfterHash = window.location.href.split('?')[1];
    bitAfterHash = bitAfterHash.split('!/').pop();
    var parts = bitAfterHash.split('/');
    var type = parts[0];
    var id = parts[1];
    if(type === 'article' || type === 'episode'){
        window.location.href="http://www.example.com/redirect/"+type+"/"+id;
    }
}

网址如下所示:

  

http://example.com/mobile/?!/article/201073733551122/