首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >类似于时间表页选项卡中的详细信息页

类似于时间表页选项卡中的详细信息页
EN

Stack Overflow用户
提问于 2012-04-17 11:10:13
回答 1查看 928关注 0票数 1

我有一个facebook时间线页选项卡应用程序,它运行在粉丝页面的IFRAME中。

在应用程序的主页上,我们显示了10个作业,用户可以点击到一本书的详细页面。

我们希望在这些细节页面上添加一个“相似”按钮,这样facebook上的用户就可以在流中喜欢并共享该工作。

这个应用程序是完全动态的,所以不同的客户可以在他们的粉丝页面上安装这个应用程序,并列出他们自己的工作。(例如可口可乐把它安装在他的可口可乐页面上,列出公司内的工作。然后微软也会安装它,并做同样的事情)

这个问题涉及到的问题是:元标记和喜欢的细节页面链接的重定向,就在facebook公司的正确页面和显示工作的相对正确的详细页面中。

我可以做好这两件事,但不能同时做:

答: Facebook在head部分正确地获得了og:metatag,并在我使用以下类似按钮的实现(没有"data-href“额外属性)时,使用了图像、标题和描述。

代码语言:javascript
运行
复制
    <div class="fb-like"  
             data-send="false" 
             data-layout="button_count" 
             data-show-faces="false" 
             data-action="like" 
             data-font="arial">
    </div>

问题是,没有指定数据-href属性(并且og:url元完全被忽略),这将创建一个链接到当前页=>预期的当前页面在一个iframe =>中,因此当您单击facebook上的共享作业时,您将被重定向到facebook应用程序-right页面-right详细信息页面,而是重定向到托管应用程序的服务器上的详细信息页。

B.如果我指定了data-href属性

代码语言:javascript
运行
复制
   <div class="fb-like"  
             data-href=<%= "http://www.facebook.com/pages/:page/#{session[:fb_page_id]}?v=app_XXXXXXX&app_data=#{@job_details.job_id}" %> 
             data-send="false" 
             data-layout="button_count" 
             data-show-faces="false" 
             data-action="like" 
             data-font="arial">
    </div>

通过这样做,我可以在facebook上发布正确的链接(然后使用&app_data属性),我可以获得完美的重定向工作。但不利的一面是,og:metatag被完全忽略了,相反,facebook选择了页面标签元标记(页面标签元标签,它是页面应用程序的主机),所以我在facebook上被贴上了一个垃圾链接,上面写着facebook上的页面和页面应用图片。更大的缺点是,当你喜欢应用程序上的一个工作时,所有的工作看起来都很受欢迎(基本上iFrame应用程序变成了受欢迎的页面.而不是像喜欢的页面那样被选中的工作细节页面)

有什么天才知道怎么解决这个问题吗?我需要让A和B同时工作,以获得所要求的结果!

请帮助:(

EN

Stack Overflow用户

发布于 2012-04-20 14:28:29

我自己找到了解决办法。

  • 像=>按钮一样使用href和ref属性,特别是在你的facebook粉丝页面的引用id上。传递当前页面url也将正确地加载和共享og:metatag。

一旦将ref属性传递给facebook,该链接将由facebook发布,并附加一个额外的查询字符串,特别是"fb_ref“参数:

例如,带有参数的按钮: href=<%= "https://app.com/jobs/job_details.job_id“%>和ref=<%= 332325142248470 %>

变成:https://app.com/jobs/a0Ed000000a54bkEAA?fb_ref=332325142248470&fb_source=profile_multiline

  • 当用户单击链接时,我们希望被重定向回正确的页面选项卡应用程序和正确的作业详细信息页面。为此,我们在控制器/显示操作中设置了一个新的重定向(在ruby corrisponds中为controller_name/id),记住ref将在href链接之后放入查询字符串中:

如果params:fb_ref redirect_to "http://www.facebook.com/pages/:page/#{params[:fb_ref]}?v=app_xxxxx&app_data=#{params[:id]}“结束

如您所见,我们创建了一个新的动态url,它将使用facebook "signed_riquest“(http://developers.facebook.com/docs/authentication/signed_request/)的”signed_riquest“参数,以便向应用程序传递要可视化的正确详细信息页,并将我们重定向到正确的facebook页面。

  • 曾经这样做过,我们只需要正确地管理signed_request现在附带的新的app_data参数。在我的例子中,我使用了一个主控制器:

如果fb_signed_request:app_data redirect_to "/jobs/#{session:app_data}“结束

我们将看到我们的应用程序加载正确的页面和正确的工作细节页面!

希望会帮助别人的!

票数 2
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10190081

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档