Skip to content

Commit e71b129

Browse files
committed
Fixed Disqus integration with instant loading
1 parent 2d3354b commit e71b129

File tree

2 files changed

+26
-11
lines changed

2 files changed

+26
-11
lines changed

Diff for: material/partials/integrations/disqus.html

+1-1
Original file line numberDiff line numberDiff line change
@@ -8,5 +8,5 @@
88
{% if not page.is_homepage and disqus %}
99
<h2 id="__comments">{{ lang.t("meta.comments") }}</h2>
1010
<div id="disqus_thread"></div>
11-
<script>var disqus_config=function(){this.page.url="{{ page.canonical_url }}",this.page.identifier="{{ page.canonical_url | replace(config.site_url, '') }}"};window.addEventListener("load",function(){var e=document,i=e.createElement("script");i.src="//{{ disqus }}.disqus.com/embed.js",i.setAttribute("data-timestamp",+new Date),(e.head||e.body).appendChild(i)})</script>
11+
<script>var script,disqus_config=function(){this.page.url="{{ page.canonical_url }}",this.page.identifier="{{ page.canonical_url | replace(config.site_url, '') }}"};"undefined"==typeof DISQUS?((script=document.createElement("script")).async=!0,script.src="https://{{ disqus }}.disqus.com/embed.js",script.setAttribute("data-timestamp",Date.now()),document.body.appendChild(script)):DISQUS.reset({reload:!0,config:function(){this.page.identifier="{{ page.title }}",this.page.url="{{ page.canonical_url }}"}})</script>
1212
{% endif %}

Diff for: src/partials/integrations/disqus.html

+25-10
Original file line numberDiff line numberDiff line change
@@ -31,16 +31,31 @@
3131
<h2 id="__comments">{{ lang.t("meta.comments") }}</h2>
3232
<div id="disqus_thread"></div>
3333
<script>
34-
var disqus_config = function () {
35-
this.page.url = "{{ page.canonical_url }}";
34+
var disqus_config = function() {
35+
this.page.url = "{{ page.canonical_url }}"
3636
this.page.identifier =
37-
"{{ page.canonical_url | replace(config.site_url, '') }}";
38-
};
39-
window.addEventListener("load", function() {
40-
var d = document, s = d.createElement("script");
41-
s.src = "//{{ disqus }}.disqus.com/embed.js";
42-
s.setAttribute("data-timestamp", +new Date());
43-
(d.head || d.body).appendChild(s);
44-
})
37+
"{{ page.canonical_url | replace(config.site_url, '') }}"
38+
}
39+
40+
/* Set up for the first time */
41+
if (typeof DISQUS === "undefined") {
42+
var script = document.createElement("script")
43+
script.async = true
44+
script.src = "https://{{ disqus }}.disqus.com/embed.js"
45+
script.setAttribute("data-timestamp", Date.now())
46+
47+
/* Inject script tag */
48+
document.body.appendChild(script)
49+
50+
/* Set up on navigation (instant loading) */
51+
} else {
52+
DISQUS.reset({
53+
reload: true,
54+
config: function () {
55+
this.page.identifier = "{{ page.title }}"
56+
this.page.url = "{{ page.canonical_url }}"
57+
}
58+
})
59+
}
4560
</script>
4661
{% endif %}

0 commit comments

Comments
 (0)