无论我做什么,我都不能让disqus在开发模式下工作。
disqus帐户是新的,其中没有内容。
在我的网站标题中我有
<script type="text/javascript">
var disqus_developer = 1;
var disqus_url = 'example.com';
</script>
不是真正的域名,但由于我在localhost中使用它,它应该可以工作,对吗?
然后我的内容结尾了:
<div id="disqus_thread"></div>
<script type="text/javascript">
/* <![CDATA[ */
var disqus_shortname = 'mywebsiteshortname'; // the real thing, this is just for show
/* * * DON'T EDIT BELOW THIS LINE * * */
(function() {
var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
dsq.src = '//' + disqus_shortname + '.disqus.com/embed.js';
(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
})();
/* ]]> */
</script>
<noscript>Please enable JavaScript to view the <a href="//disqus.com/?ref_noscript">comments powered by Disqus.</a></noscript>
<a href="//disqus.com" class="dsq-brlink">blog comments powered by <span class="logo-disqus">Disqus</span></a>
关于铁饼我有:
与我的设置相同的网址和相同的短名称。
但是尽管这种争论不会加载:
我们无法加载Disqus。如果您是主持人,请参阅我们的故障排除指南。
故障排除指南根本没有帮助。
这是预期的行为,还是有办法在localhost和开发人员模式下加载和使用注释,以便正确测试和配置它?
答案 0 :(得分:5)
看起来问题出在您的disqus_url
上,这需要是一个绝对的网址。使用var disqus_url = 'http://example.com'
应该有效
附加说明:您不需要使用&#39; disqus_developer&#39;它将在没有任何额外配置的情况下在本地加载。如果您要在网站设置中设置受信任的域,请务必将localhost
添加到列表中。
答案 1 :(得分:2)
Disqus已进行了一些更改,但我无法将localhost
添加为受信任的域。据我所知,他们也不再支持disqus_developer = 1
。
在开发过程中从Disqus中删除所有受信任的域。据我所知,删除所有受信任的域与允许任何域访问您的Disqus相同。
简单的解决方案提出了一些安全问题,该解决方案可以解决这个问题。此示例使用Sinatra,但任何后端语言或库都应该有效。使用相同的Disqus进行开发和生产并不是一个好主意。在应用程序控制器中,添加此块。
class ApplicationController < Sinatra::Base
before do
@production = Sinatra::Application.production?
@disqus_url = @production ? "production.disqus.com" : "development.disqus.com"
end
end
在Disqus中创建两个网站,然后更改production.disqus.com
和development.disqus.com
以匹配您的Disqus网址。
在您的视图somefile.erb
中,将以下代码添加到您想要评论的位置。
<div id="disqus_thread"></div>
<script>
var disqus_config = function () {
this.page.url = "<%= request.url %>";
};
(function() { // DON'T EDIT BELOW THIS LINE
var d = document, s = d.createElement('script');
s.src = '//<%= @disqus_url %>/embed.js';
s.setAttribute('data-timestamp', +new Date());
(d.head || d.body).appendChild(s);
})();
</script>
<noscript>Please enable JavaScript to view the <a href="https://disqus.com/?ref_noscript">comments powered by Disqus.</a></noscript>
<script id="dsq-count-scr" src="//<%= @disqus_url %>/count.js" async></script>
对于安全性非常重要:在admin/settings/advanced/
下的您的Disqus中,将您的网站网址添加到您的产品Disqus的受信任域中,这将限制来自其他域的访问。不要将任何受信任的域添加到您的开发Disqus中,以便它可以在localhost
上运行。这也将使您的所有评论与开发和生产网站分开。
答案 2 :(得分:0)
以下解决方案可行
在&#34;可信域名&#34;中注册您的网站网址。位于Disqus下的设置&gt;高级标签下。 示例:appleandmango.com
在Windows中转到&#34; C:\ Windows \ System32&#34;并搜索&#34; hosts&#34;打开文件并添加IPv4地址(转到cmd并点击&#39; ipconfig&#39;获取IPv4)然后添加一个空格和注册的URL 示例:192.168.x.x appleandmango.com
现在不使用 localhost:portnumber 访问您的网站,而是使用 appleandmango.com:portnumber
Disqus现在会加载所有评论