当我使用<
代替<
而不是>
代替>
时,此代码似乎才有用,所以我怎样才能让它工作以便链接到合法的视频所有者频道。
<script type="text/javascript">
function youtubeFeedCallback(json){
document.write("<a href='youtube.com/user/"+json["data"]["uploader"]+"'>"+json["data"]["uploader"]+"</a>");
}
</script>
<script type="text/javascript" src="http://gdata.youtube.com/feeds/api/videos/4TSJhIZmL0A?v=2&alt=jsonc&callback=youtubeFeedCallback&prettyprint=true"></script>
答案 0 :(得分:1)
var text = json["data"]["uploader"],
url = "youtube.com/user/" + text;
text.link(url);
答案 1 :(得分:1)
使用另一种注射方法可能比document.write()
更好,例如:
<script type="text/javascript">
function youtubeFeedCallback(json){
var user = json.data.uploader,
a = document.createElement("a");
a.href = 'http://www.youtube.com/user/' + user;
a.appendChild( document.createTextNode(user) );
document.getElementsByTagName("body")[0].appendChild( a );
}
</script>
<script type="text/javascript" src="http://gdata.youtube.com/feeds/api/videos/4TSJhIZmL0A?v=2&alt=jsonc&callback=youtubeFeedCallback&prettyprint=true"></script>
您可能需要更改链接插入的位置,但我们的想法是远离document.write()
并使用纯DOM插入。
答案 2 :(得分:0)
json["data"]["uploader"]
可能包含一些破坏您的HTML代码的无效字符。 (如单引号)