我在reddit网站上找了一些帮助,但我仍然无法弄明白,所以我转发到了这里。我也搜索了这个论坛,但是我没有找到足够接近的答案,也不了解编程从我发现的内容中推断出来。
我当然不是一个程序员;这似乎是可能的,但我无法弄清楚如何做到这一点。
我希望能够在网页上插入reddit线程的链接,并在我链接到的帖子中显示评论数量。
我理解如何做第一部分:
<a href="http://www.reddit.com/r/redditdev/comments/d570p/reddit_widget_help/"
target="_blank">4eddit thread<br /></a>
我知道我可以通过将.josn附加到网址
来获取有关该主题的信息 http://www.reddit.com/r/redditdev/comments/d570p/reddit_widget_help.json
我知道我在json输出中需要的数据是“ num-comments ”。
我怎样才能想出这样的东西......
reddit widget help(n条评论)
...其中n从.json信息中提取并在页面加载时更新?
更新
我使用Matthew Flaschen的示例来实现它。
在最后一个小时左右,我发现moodle(我们的在线课程管理系统)不支持JQuery,只支持YUI。而且无论如何我似乎无法获得和YUI javascript示例在我能够编辑的html部分中运行(我假设这是因为我无法编辑该部分)。
作为一种解决方法,我可以加载这个html:
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3/jquery.min.js" type="text/javascript"></script>
<script type="text/javascript">
function show_num_comments(response) {
$(function() {
$('#comm_count').text(response[0].data.children[0].data.num_comments);
});
}
</script>
<script type="text/javascript" src="http://www.reddit.com/r/redditdev/comments/d570p/.json?jsonp=show_num_comments"></script>
</head>
<body>
<div id="thread"><span id="comm_count"></span> comments</div>
</body>
在iframe中。不幸的是,这意味着我必须为我希望学生讨论的每个课程/评论帖子都有一个单独的html文件(对于每个iframe)。
是否有任何让这更优雅的想法?
答案 0 :(得分:1)
我做了一个简单的概念验证。你可以在JSFiddle上测试它。 (with jQuery)(without jQuery):
Thread has <span id="comm_count"></span> comments
<script type="text/javascript">
function show_num_comments(response)
{
window.addEventListener("load", function()
{
document.getElementById('comm_count').textContent = response[0].data.children[0].data.num_comments;
}, false);
}
</script>
<script type="text/javascript" src="http://www.reddit.com/r/redditdev/comments/d570p/reddit_widget_help/.json?jsonp=show_num_comments"></script>
因为这是跨域的,所以我们必须使用JSONP(带填充的JSON)。基本上,这意味着我们在页面上提供了一个特殊功能(show_num_contents
),然后使用脚本标记。 Reddit响应一个调用该函数的脚本,传入JavaScript对象。
我们使用addEventListener
等待加载来操作DOM。