我有一个使用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