我需要在我的share应用程序(JavaScript + AngularJS)中实现共享URL的能力,其中包括如下参数:
http://MyTestSite.com?action=view&docID=12345或者:
http://MyTestSite.com?action=edit&docID=67890正在显示的页面可能包含一个列表,其中包含许多可以共享的文档,我需要在每个文档上附加共享的可能性(如果适用的操作将取决于文档的状态)。
经过大量的googling搜索,共享包含参数的链接的唯一方法似乎是通过使用OpenGraph(虽然我不确定)。
所以,第一个问题是:这是要走的路吗?
假设答案是“是”,我如何动态更新操作和docID,这些都是在HTML的标题中定义的?这样的更新必须在我单击页面中附加到特定条目的共享按钮后立即进行。
如果对前一个问题的回答是“否”(意思是,开放图不适合与参数共享链接),那么实现这一点的方法是什么?
谢谢您的建议。
发布于 2016-05-22 07:54:34
经过一些工作、更多的问题和尝试错误之后,我找到了一个解决方案,如here中所描述的。
发布于 2016-05-16 09:04:05
问题是,与大多数爬虫一样,Facebook爬虫不会对页面上的任何javascript进行评估,因此第一页的初始页眉将被卡住。
我以前使用SPA处理过这个问题,但是创建一个服务器呈现的页面只用于共享,该页面将具有相对的标题,并将重定向到我的应用程序。
前端应用
var shareOnFacebook = function(type, autourl) {
FB.ui({
method: 'share',
href: 'http://www.example.com/social/'+type+'/'+autourl,
}, function(response){
console.log(response);
});
};在服务器端
<!-- do the logic to get the needed data and fill the needed tags -->
<meta property="og:title" content="{{$model->title}}" />
<meta property="og:description" content="{{$model->description}}" />
<meta property="og:image" content="{{$model->image}}" />
<!-- after create a redirect-->
<meta http-equiv="refresh" content="0;url='http://www.example.com/{{$redirectHash}}"> https://stackoverflow.com/questions/37247253
复制相似问题