我有一個使用Facebook小部件的小網站應用程序。此頁面還使用querrystrings動態加載內容。我需要分配給Facebook小部件的href根據querrystring動態確定。下面是我如何定義窗口小部件的例子:動態設置Facebook小部件的href
<div id="fb-root"></div><script src="http://connect.facebook.net/en_US/all.js#appId=186609524720286&xfbml=1"></script>
<fb:like id="fbLike" href="http://apps.facebook.com/inflatableicons/image_preview.html" send="true" width="450" show_faces="true" font="">
</fb:like>
但我真正需要的是這樣的:?
<div id="fb-root"></div><script src="http://connect.facebook.net/en_US/all.js#appId=186609524720286&xfbml=1"></script>
<fb:like id="fbLike" href="http://apps.facebook.com/inflatableicons/image_preview.html?y=119" send="true" width="450" show_faces="true" font="">
</fb:like>
注意HREF在第二個例子是結尾Y = 119,但第一個不是。我的問題是,我不知道哪個值作爲widget的querrystring,直到我看到哪個querrystring被傳遞給html頁面。任何人都可以解釋我可以如何在href中插入一個動態值?我第一次嘗試其實這樣以後就設置在href:
<div id="fb-root"></div><script src="http://connect.facebook.net/en_US/all.js#appId=186609524720286&xfbml=1"></script>
<fb:like id="fbLike" href="#" send="true" width="450" show_faces="true" font="">
</fb:like>
<script>
var url = 'http://apps.facebook.com/inflatableicons/image_preview.html?y=120';
document.getElementById('fbLike').setAttribute('href', url);
console.log(document.getElementById('fbLike'));
</script>
,但是當我這樣做的小部件抱怨HREF沒有設置,奇怪的是當我打印的getElementById的價值充分顯示了我設定的HREF與setAttrbibute,即使小部件不認爲它設置正確,並給出錯誤。我相信由於某種原因,小部件將不允許我在事後設置href。
編輯:
我使用ferni在他的回答descried jQuery的例子也試過但這似乎並沒有工作:
<div id="fb-root"></div><script src="http://connect.facebook.net/en_US/all.js#appId=186609524720286&xfbml=1"></script>
<fb:like id="fbLike" href="#" send="true" width="450" show_faces="true" font="">
</fb:like>
<script>
var url = 'http://apps.facebook.com/inflatableicons/image_preview.html?y=120';
jQuery("#fblikeblock").html('<fb:like id="fbLike" href="'+url+'" send="true" width="450" show_faces="true" font=""></fb:like>');
FB.XFBML.parse(document.getElementById('fblikeblock'));
console.log(document.getElementById('fblikeblock'));
</script>
我加入的console.log到年底腳本打印fblikeblock的值並返回null,因此這可能是問題的一部分。
感謝您的答覆,我試圖用你的jquerry腳本,但按鈕依然抱怨沒有HREF當我使用我貼在我的最後一次編輯代碼。 – Mike2012 2011-05-19 19:32:17
看我的編輯,讓我知道如果這對你有用。 – Femi 2011-05-19 19:47:53
太棒了,完美的工作,非常感謝你Ferni! – Mike2012 2011-05-19 20:04:50