disqus api用于动态页面

时间:2011-07-11 10:46:58

标签: javascript jquery ajax jsp disqus

我开发了一个Web应用程序,其中每个用户都可以使用提供的小部件创建自己的页面,而disqus api是其中一个小部件。我试图在网站上使用disqus api http://docs.disqus.com/developers/universal/,但我有点困惑,或者我可以说不能做一些事情,让我用一个场景解释你。假设用户A来了并在他的页面中添加了disqus小部件,他可以通过这个URL访问他的页面说“www.domain.com/xxx”,他可以使用他的disqus小部件,我使用的是通用api,但我想我需要动态更新disqus_identifier和disqus_url。如何为不同用户或多个用户动态执行此操作。

请帮助我

1 个答案:

答案 0 :(得分:5)

要嵌入Disqus,不需要disqus_identifierdisqus_url个参数。但是,根据您要查找的功能(您的问题不明确),您可能需要它们来满足您的要求。

由于您的页面由小部件组成,我假设没有链接到Disqus小部件的“永久链接”URL。因此,我建议您不要设置disqus_url参数。 (通过不设置此参数,disqus将自行确定适当的URL。)

用于设置disqus_identifier的方法将决定新的disqus线程在窗口小部件中的显示方式和时间。如果您希望每个用户在其窗口小部件中看到唯一的disqus线程,请将disqus_identifier设置为该用户的ID。在JSP中,这可能类似于以下内容(但实际实现完全取决于您的唯一应用程序)。

// ...
%>
<div id="disqus_thread"></div>
<script type="text/javascript">
    /* * * CONFIGURATION VARIABLES: EDIT BEFORE PASTING INTO YOUR WEBPAGE * * */
    var disqus_shortname = 'example'; // required: replace example with your forum shortname

    // The following are highly recommended additional parameters. Remove the slashes in front to use.
    var disqus_identifier = '<%=currentUser.getID()%>';
    // var disqus_url = 'http://example.com/permalink-to-page.html';

    /* * * DON'T EDIT BELOW THIS LINE * * */
    (function() {
        var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
        dsq.src = 'http://' + disqus_shortname + '.disqus.com/embed.js';
        (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
    })();
</script>
<%