Angularjs和Linkedin分享

时间:2015-07-16 12:11:32

标签: angularjs linkedin

我有一个angularjs网站,其中包含多篇文章。

我希望我的用户能够通过各种社交网络分享他们的文章。

我正在使用名为angularjs-socialshare的angularjs插件。基本上,系统调用共享端点,提供要共享的URL:

E.G。

http://www.linkedin.com/shareArticle?mini=true&url=http://www.google.com

现在,由于我的内容是通过angularjs动态加载的,因此会显示类似{{ description }}{{ title }}

的内容

为了解决这个问题,我有一个phantomjs服务器执行javascript并为机器人提供静态html页面。这是我用来告诉机器人请求的htaccess(顺便说一句,这里的任何提示都是受欢迎的)。

Options +FollowSymLinks
RewriteEngine on
RewriteCond %{REQUEST_URI} !\.(gif|jpg|png|ico|ico)$
RewriteCond %{QUERY_STRING} ^_escaped_fragment_=/?(.*)$ [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*pinterest.*$ [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*linkedin.*$ [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*slack.*$ [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*facebook.*$ [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*google.*$ [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*yahoo.*$ [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*bing.*$
RewriteRule ^(.*)$ http://localhost:27366/$1 [P,L]

http://localhost:27366/$1只是phantomjs服务器。

现在,Facebook和谷歌都运作良好。 LinkedIn虽然没有,但它仍然停留在加载,或者它只显示页面的URL。 我试着寻找一些文档,但每个答案都是指旧文档(404s),现在我迷失了。

编辑:

对不起,我意识到这个问题在一段时间后重新阅读后没有多大意义。编辑。

我有点沮丧地写了这个问题,但我意识到我应该尝试联系在linkedin工作的人来了解发生了什么。

如果我找到解决方案,我会确保在此更新以供将来参考

1 个答案:

答案 0 :(得分:0)

经过与支持中心的一些挖掘和斗争之后,我发现基本上某些服务(如LinkedIn,但还有其他服务)与hashbang不兼容。

我通过切换到HTML5模式(删除了hashbang)解决了这个问题。

.config(function ($locationProvider) {
    if(window.history && window.history.pushState){ // Checks if browser has HTML5 support
        $locationProvider.html5Mode(true);
    }
}

这也是我的索引页面的主管:

<base href="/">

希望它有助于某人