2014-09-12 60 views
6

無論我做什麼,我都無法使disqus在開發模式下工作。disqus不會在localhost中加載,已經處於開發模式

該disqus帳戶是新的,它沒有內容。

在我的網站標題我有

<script type="text/javascript"> 
var disqus_developer = 1; 
var disqus_url = 'example.com'; 
</script> 

不是真正的域名,但因爲我在本地主機使用它,它仍然應該工作,對不對?

然後我就在我的內容的末尾:

<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 settings

URL一樣在我的設置,同樣的短名稱。

但儘管如此disquss不會加載:

我們無法加載Disqus。如果您是版主,請參閱我們的故障排除指南。

故障排除指南根本沒有幫助。

這是預期的行爲還是有辦法讓我在localhost和developer模式下加載和使用註釋以正確測試和配置它?

感謝和問候。

回答

5

看起來問題在於你的disqus_url,這需要一個絕對的URL。使用var disqus_url = 'http://example.com'應該工作

附加說明:你並不需要使用「disqus_developer」了,它會通過本地加載無需任何額外的配置。如果您要在自己的網站設置中設置受信任的網域,請確保將localhost添加到列表中。

0

以下解決方案將工作

  1. 註冊你的網站URL位於設置下的Disqus>高級選項卡的「信任域」。 例子:appleandmango.com

  2. 在窗戶進入「C:\ Windows \ System32下」,搜索「主機」,打開文件,並添加IPv4地址(進入cmd並點擊「IPCONFIG」得到IPv4)的一個空格,註冊網址 例子:192.168.XX appleandmango.com

  3. 現在不是與本地主機訪問您的網站:端口號,與appleandmango訪問它。COM:端口號

  4. Disqus現在將加載所有評論

0

更新:

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.comdevelopment.disqus.com到acordinly符合您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> 

重要出於安全:在你Disqus admin/settings/advanced/下,您的網站的網址添加到您的信任域爲您的生產Disqus,這將限制從其他域的訪問。不要將任何受信任的域添加到您的開發中,因此它將在localhost上運行。這也將保留您的開發和製作網站的所有評論。