1

this code only seems to work when I use &lt; instead of < and &gt; instead of > so how can I get it to work so that it links to the rightful video owner's channel.

<script type="text/javascript">
    function youtubeFeedCallback(json){
        document.write("&lt;a href='youtube.com/user/"+json["data"]["uploader"]+"'&gt;"+json["data"]["uploader"]+"&lt;/a&gt;");
    }
</script>
<script type="text/javascript" src="http://gdata.youtube.com/feeds/api/videos/4TSJhIZmL0A?v=2&alt=jsonc&callback=youtubeFeedCallback&prettyprint=true"></script>
4

3 回答 3

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 插入。

希望有帮助。干杯!

于 2011-10-08T02:49:27.447 回答
1
var text = json["data"]["uploader"], 
url = "youtube.com/user/" + text;
text.link(url);
于 2011-10-07T21:54:44.037 回答
0

json["data"]["uploader"]可能包含一些破坏您的 html 代码的无效字符。(如单引号)

于 2011-10-07T21:52:21.607 回答