【问题标题】:Disqus comments displays "Browser not supported" upon navigating with Turbolinks 5使用 Turbolinks 5 导航时,Disqus 评论显示“不支持浏览器”
【发布时间】:2017-04-14 08:00:57
【问题描述】:

当使用 Turbolinks 5 和默认的 Disqus cmets 嵌入代码时,您会在控制台中收到“不支持浏览器”错误和警告:“请使用 DISQUS.reset 而不是重新加载 embed.js。”

在 Disqus 文档中使用 AJAX 示例时,embed.js 警告会消失,但“浏览器不支持”警告不会消失。

如何在不禁用 Turbolinks 的情况下解决此问题?

【问题讨论】:

    标签: javascript disqus turbolinks turbolinks-5


    【解决方案1】:

    要解决这个问题,请使用默认的 Disqus 嵌入代码:

    <div id="disqus_thread"></div>
    <script>
    
    /**
    *  RECOMMENDED CONFIGURATION VARIABLES: EDIT AND UNCOMMENT THE SECTION BELOW TO INSERT DYNAMIC VALUES FROM YOUR PLATFORM OR CMS.
    *  LEARN WHY DEFINING THESE VARIABLES IS IMPORTANT: https://disqus.com/admin/universalcode/#configuration-variables*/
    /*
    var disqus_config = function () {
    this.page.url = PAGE_URL;  // Replace PAGE_URL with your page's canonical URL variable
    this.page.identifier = PAGE_IDENTIFIER; // Replace PAGE_IDENTIFIER with your page's unique identifier variable
    };
    */
    (function() { // DON'T EDIT BELOW THIS LINE
    var d = document, s = d.createElement('script');
    s.src = 'https://EXAMPLE.disqus.com/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>
    

    并添加:

    s.setAttribute('data-turbolinks-track', 'reload');
    

    所以代码变成了:

    <div id="disqus_thread"></div>
    <script>
    
    /**
    *  RECOMMENDED CONFIGURATION VARIABLES: EDIT AND UNCOMMENT THE SECTION BELOW TO INSERT DYNAMIC VALUES FROM YOUR PLATFORM OR CMS.
    *  LEARN WHY DEFINING THESE VARIABLES IS IMPORTANT: https://disqus.com/admin/universalcode/#configuration-variables*/
    /*
    var disqus_config = function () {
    this.page.url = PAGE_URL;  // Replace PAGE_URL with your page's canonical URL variable
    this.page.identifier = PAGE_IDENTIFIER; // Replace PAGE_IDENTIFIER with your page's unique identifier variable
    };
    */
    (function() { // DON'T EDIT BELOW THIS LINE
    var d = document, s = d.createElement('script');
    s.src = 'https://EXAMPLE.disqus.com/embed.js';
    s.setAttribute('data-timestamp', +new Date());
    s.setAttribute('data-turbolinks-track', 'reload');
    (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>
    

    Here is the Turbolinks documentation about data-turbolinks-track="reload"

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-10-11
      • 2010-09-25
      • 1970-01-01
      • 1970-01-01
      • 2020-02-01
      • 1970-01-01
      • 1970-01-01
      • 2014-05-03
      相关资源
      最近更新 更多