2012-04-10 102 views
0

林尋找一種方式,以一個網站的iframe頁面中鏈接到一個網頁一樣鏈接在Facebook頁面的iframe

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

所以

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

會是這樣試用這裏的方法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,但是這是唯一一個我能找到的由800像素

上,如果可以這樣做將是巨大的任何想法具有810像素的寬度

回答

1

如果它是一個Facebook畫布的應用程序,那麼它的url應該是apps.facebook.com而不是www.facebook.com

將由帆布iframe中加載時將其添加到您的應用程序的網址添加到您的畫布應用程序URL將被Facebook被然後傳遞到您的應用程序的任何查詢參數,因此,如果您將用戶引導到:

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

Facebook將發佈應用帆布iframe來:

www.yourdomain.com/canvas-path?param = v alue

然後,您可以像獲取其他任何GET參數一樣獲取該參數以及您想要的參數。 但有一件事,如果該參數是一個網址,那麼它應該是網址編碼,其他明智的事情會出錯。

我不明白的是你想用你想要作爲參數傳遞的URL做什麼,這是什麼「app_runner4f84331f0576e6f73380702」?


編輯

哦,這是一個網頁標籤,對不起,我錯過了一部分。

心中已經從未使用過它,但它在最後一節說Page Tab Tutorial的(與Facebook的API集成):

您的應用程序也將收到稱爲app_data文件作爲部分 字符串參數如果已在裝入選項卡的URL中的原始 查詢字符串中設置了app_data參數,則爲signed_request。對於上面的Shop Now鏈接 ,可能如下所示: 「http://www.facebook.com/YourPage?v=app_1234567890 & app_data = any_string_here」。 如果您控制 生成鏈接,您可以使用它來自定義您呈現的內容。

從我的理解,這正是你需要爲了獲得數據。

不管怎樣,由於您無法訪問父窗口,您將無法更改發佈方式的iframe網址(您的網頁位於不同於Facebook的域,瀏覽器將阻止它由於跨域策略)。

你可以做什麼是多麼永遠

document.location.href = URL; 

您在自己的網頁,沒關係,它駐留在iframe。

問題是你不需要所有這些,只需要知道在從Facebook傳遞給你的參數的服務器端(來自查詢字符串)(如果存在),並根據那。 當你已經知道用戶想要什麼時,沒有理由呈現一個頁面,然後將頁面重定向到另一個url,你只是讓用戶多餘地往返於服務器,而沒有任何東西。

+0

嗯,我想我可能已經混淆了一點,我有一個頁面選項卡的臉書頁面http://www.facebook.com/designmystyle/app_244351832329915我希望能夠從同一個選項卡調用其他頁面也就是說,聯繫人頁面無需創建新選項卡。 – Matu 2012-04-11 00:49:43

+0

我想我明白了,編輯了我的答案。 – 2012-04-11 07:29:00