【问题标题】:Link to a page within Facebook iframe链接到 Facebook iframe 中的页面
【发布时间】:2012-04-22 23:26:28
【问题描述】:

我正在寻找一种方法来链接到 facebook iframe 页面中的网页

所以

http://www.facebook.com/designmystyle/app_244351832329915

应该是这样的

http://www.facebook.com/designmystyle/app_244351832329915?http://www.lickmystyle.com/contact/

我已经尝试过http://www.codingforums.com/archive/index.php/t-85547.html这里使用的方法

    <script type="text/javascript">
    <!--

    function loadIframe(){
    if (location.search.length > 0){
    url = unescape(location.search.substring(1))

    window.frames["app_runner4f84331f0576e6f73380702"].location=url
    }
    }

    onload=loadI

frame
//-->

我不确定 app_runner4f84331f0576e6f73380702 是 iframe 的名称还是 ID,但它是我能找到的唯一一个宽度为 810 像素 x 800 像素的框架

如果能做到这一点,任何想法都会很棒

【问题讨论】:

    标签: javascript html facebook iframe hyperlink


    【解决方案1】:

    如果它是一个 facebook 画布应用程序,那么它的 url 应该是 apps.facebook.com 而不是 www.facebook.com

    任何将添加到您的画布应用程序 url 的查询字符串参数都将由 facebook 传递到您的应用程序,方法是在加载到画布 iframe 内时将其添加到您的应用程序的 url,因此,如果您将用户定向到:

    apps.facebook.com/app-name?param=value

    facebook 会将应用画布 iframe 发布到:

    www.yourdomain.com/canvas-path?param=value

    然后您可以像获取任何其他 GET 参数一样获取该参数以及您想要的。 不过有一件事,如果该参数是 url,那么它应该是 url 编码的,否则会出错。

    我不明白的是你想用你想作为参数传递的 url 做什么,这个“app_runner4f84331f0576e6f73380702”是什么?


    编辑

    哦,这是一个页面标签,抱歉,我错过了那部分。

    我以前从未使用过它,但它在Page Tab Tutorial 的最后一部分(与 Facebook API 集成)中说:

    您的应用还将收到一个名为 app_data 的字符串参数作为一部分 如果在原始文件中设置了 app_data 参数,则为 signed_request 加载选项卡的 URL 中的查询字符串。对于“立即购买”链接 上面,可能看起来像这样: “http://www.facebook.com/YourPage?v=app_1234567890&app_data=any_string_here”。 如果您控制,您可以使用它来自定义您呈现的内容 链接的生成。

    据我了解,这正是您获取数据所需要的。

    但是,您将无法以您发布的方式更改 iframe 的 url,因为您无权访问父窗口(您的页面与 facebook 位于不同的域,浏览器会阻止它到跨域策略)。

    你能做的只是:

    document.location.href = URL;
    

    您在自己的页面中,它驻留在 iframe 中并不重要。

    问题是您不需要所有这些,只需注意从 facebook(从查询字符串)传递给您的参数的服务器端(如果存在),并根据该参数呈现页面. 没有理由渲染一个页面,然后将页面重定向到另一个 url,当您已经知道用户想要什么时,您只是让用户对您的服务器进行冗余往返。

    【讨论】:

    • 好吧,我想我可能有点混淆了,我有一个带有页面标签facebook.com/designmystyle/app_244351832329915 的 Facebook 页面我希望能够从同一个标签调用其他页面,即联系页面无需创建新标签。
    猜你喜欢
    • 1970-01-01
    • 2011-05-08
    • 2013-12-04
    • 2012-04-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多