nok*_*nal 67 javascript ajax jquery facebook
我已经对网络和Stack Overflow进行了拖网搜索,并且没有找到这个问题的充分答案.在我开始寻找自己的解决方案的试错过程之前,我想我会转向Stack Overflow智囊团,看看是否已经成功实施.
我有一个AJAX驱动的页面,适用于非JavaScript浏览器和SEO.AJAX版本中的每次单击都可以由唯一的URL表示.
我想要做的是动态更改按钮的HREF.我确实理解这个标签在运行时被转换为标准HTML(即变成讨厌的表/ iframe布局).
我只是想知道是否有人对如何在AJAX驱动的页面上实现这个FB类按钮有任何见解?
提前干杯:)
编辑:
您如何看待我刚刚攻击的这种方法?看到它有什么大问题吗?
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<script src="JS/jquery/jquery.js" type="text/javascript"></script>
<script src="http://connect.facebook.net/en_US/all.js#xfbml=1"></script>
<script language="javascript" type="text/javascript">
$("document").ready
(
function ()
{
CreateNewLikeButton("http://www.yahoo.com")
$("a#ChangeToGoogle").click
(
function (e)
{
e.preventDefault();
CreateNewLikeButton("http://www.google.ca")
}
);
}
);
function CreateNewLikeButton(url)
{
var elem = $(document.createElement("fb:like"));
elem.attr("href", url);
$("div#Container").empty().append(elem);
FB.XFBML.parse($("div#Container").get(0));
}
</script>
</head>
<body>
<form id="form1" runat="server">
<a id="ChangeToGoogle" href="#">Change To Google</a>
<div id="Container">
<fb:like href="http://www.NEVER_LINK_TO_THIS_12345.com"></fb:like>
</div>
</form>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
Zor*_*rox 136
简单的解决方案
加载完成后,只需解析触发解析函数.
如果您正在使用jQuery,那么这个问题就是一个非常简单明了的解决方案:
$(document).ajaxComplete(function(){
try{
FB.XFBML.parse();
}catch(ex){}
});
Run Code Online (Sandbox Code Playgroud)
http://developers.facebook.com/docs/reference/plugins/like/
nok*_*nal 23
这是我最终得到的解决方案:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<script src="JS/jquery/jquery.js" type="text/javascript"></script>
<script src="http://connect.facebook.net/en_US/all.js#xfbml=1"></script>
<script language="javascript" type="text/javascript">
$("document").ready
(
function ()
{
CreateNewLikeButton("http://www.yahoo.com")
$("#ChangeToGoogle").click
(
function (e)
{
e.preventDefault();
CreateNewLikeButton("http://www.google.ca")
}
);
}
);
function CreateNewLikeButton(url)
{
var elem = $(document.createElement("fb:like"));
elem.attr("href", url);
$("#Container").empty().append(elem);
FB.XFBML.parse($("#Container").get(0));
}
</script>
</head>
<body>
<form id="form1" runat="server">
<a id="ChangeToGoogle" href="#">Change To Google</a>
<div id="Container">
<fb:like href="http://www.NEVER_LINK_TO_THIS_12345.com"></fb:like>
</div>
</form>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
49928 次 |
最近记录: |