我基本上做的是将一个人的Facebook-ID分配给DIV中的onclick-Event。 div是一个字符串本身,因为我稍后通过innerHTML
将它分配给DOM属性"<div onclick='openFbFriend(" + friendsArray[i]['facebookID'] + ");' class='row'>";
现在openFbFriend只是打开这个人的Facebook页面:
function openFbFriend(fbID) {
window.open("https://www.facebook.com/" + fbID, "_blank");
}
对大多数人有用吗?我现在经历的是一些链接坏了我将重定向,例如到此页面:https://www.facebook.com/10204840506352732
我调查并且非常奇怪但是当FB-ID长于或等于17位数时,我的字符串从div变为openFbFriend并加上或未成为1.这怎么可能发生? fb-id永远不会转换为数字,并且始终是一个字符串。所以,如果我在console.log之后的fbid,则id是正确的。但是......当点击时会发生奇怪的事情,因为如果fbid&gt; = 17digits而不是openFbFriend则为+ -1。 任何帮助表示赞赏:)!
答案 0 :(得分:2)
也许你应该尝试
"<div onclick='openFbFriend(\"" + friendsArray[i]['facebookID'] + "\");' class='row'>";
因为如果参数周围没有\"
,那么它将被解释为整数,或者如果它包含非数字字符,那么它将导致错误。
结果字符串为:
<div onclick='openFbFriend("10204840506352732");' class='row'>
但在您的版本中:
<div onclick='openFbFriend(10204840506352732);' class='row'>
答案 1 :(得分:0)
现在我快速猜测并用
修复它 \"
"<div onclick='openFbFriend(\"" + friendsArray[i]['facebookID'] + "\");' class='row'>"
我认为它被转换为没有\&#34;的数字。但我不明白为什么。也许某人可以解释一下? THX