2014-01-13 46 views
0

我最近完成了使用HTML5,CSS和jQuery構建自己的lightbox版本。它的核心,jQuery基本上只是將整個燈箱添加到當前顯示的頁面。我說這是爲了清楚說明我沒有使用任何形式的花式設備,例如原型或iFrames。我也能夠添加評論到燈箱,這就是問題的來源。如何爲jQuery燈箱中的每張圖片添加單獨的Facebook評論?

我想每個圖像的評論是分開的。意思是,用戶應該能夠評論每一個人的形象,而不是整個畫廊本身。我遇到的問題是,Facebook的評論只記錄整個頁面的通訊。所以,在Lightbox中,當我轉到下一張圖片時,評論不會刷新。

我試過將個別圖片URl傳遞給facebook請求的'data-href'屬性,但這並不起作用。我真的不知道該怎麼辦...

從我的理解,並通過谷歌搜索,評論需要鏈接到一個單獨的網頁URL。我可以看到問題出在哪裏:它要求html頁面url,但我將它們傳遞給圖片網址。

1)我應該使用iframe並在那裏加載圖片,然後將iframe url傳遞給'data-href'屬性? 2)我應該嘗試使用原型(我什至不知道這些是什麼,或者如果他們甚至會適用於我的情況大聲笑)

基本上我該如何告訴臉譜保存評論鏈接到一個人的圖片,而不是整個html頁面?

P.S.這就像,我第三次發佈相同的類似問題,所以我決定不再把代碼放在一起......我之前做過,沒有人回答,這次我覺得沒有必要浪費空間。除了每個圖像的註釋之外,關於代碼的所有內容都適用。但是,如果有人想看代碼,只需要問一下,我就會把它提出來。

在此先感謝!

/** 解決方案Update **/ 我設法得到這個工作。事實證明,facebook想到了,並且做到了,所以他們的評論可以直接鏈接到圖片而不僅僅是.html文件。對於像我這樣掙扎的冒險家來說:這就是你必須做的事情: 1)設置data-href最初等於用戶點擊的圖像的絕對URL 2)當用戶點擊上一個/下一個時,更新評論的數據HREF以反映圖像的變化並調用下面的方法後右

FB.XFBML.parse(); 

凹口 - 方法基本上刷新註釋插件並使其顯示更新的註釋。那是我的問題。理論上,我的代碼一直在工作,我只是沒有重新解析它。我添加了這條線,它就像一個魅力。

任何有興趣,你可以看看這裏收藏的粗略的框架:http://shakazulu.host-ed.me/lightbox/lightboxPractice.html

--Don't判斷,它只是一個實踐領域我用嘗試的事情了。我會盡可能將代碼保留在那裏,因爲我發現在Google上很難找到類似的代碼。如果任何人需要整個jQuery代碼或CSS,只需詢問我將在這裏發佈。

祝您在編程冒險中幸運!

/* ** * ** * ** * ***/

回答

2

你試過爲每個圖像創建一個虛擬的網頁? E.g沿

http://www.example.com/picture/picture-id 

其中圖片-ID是在數據庫中的圖片ID線的東西?這可以用作插件的假href。您可能需要在後臺實際創建此頁面,但它可能就像顯示圖像和評論插件一樣簡單(以防Facebook需要抓取它)。

或者,只要不在href屬性上使用圖像擴展名,可能會欺騙facebook-sdk認爲它是一個有效的頁面。把它想象爲當用戶沒有啓用javascript時創建一個圖像頁面的版本

+0

好的,我看到你在哪裏......我想。你是說爲每個圖像創建一個虛擬頁面並將它們全部存儲在服務器上?因爲我已經考慮過這一點,但最終我的服務器上會有成千上萬的頁面,這似乎有點矯枉過正。有沒有辦法讓我在加載每個圖像時爲其創建虛擬頁面?在本質上,一系列事件如下:1)動態創建虛擬頁面 2)將圖像加載到虛擬頁面 3)加載評論並讓facebook抓取虛擬頁面4)在Facebook收集正確評論之後,刪除虛擬頁面頁面 –

+0

是的,只需使用像http://www.example.com/picture.php?id=id(id是圖片ID)這只是一個$ _GET參數。你可以使用mod-rewrite使它像上面例子中的「漂亮」 – TommyBs

+0

好吧,這可能聽起來像一個愚蠢的問題,但我不熟悉PHP。說實話,我不知道代碼的作用。通過圖片ID,你的意思是圖片的名字?就像如果我的照片被稱爲'autumn.jpg'那將是我的ID。那麼代碼將如下所示:data-href =「example.com/picture.php?id=autumn.jpg」。再次,對於困難感到抱歉,我真的不明白你在說什麼。再次感謝! –

相關問題