2015-12-25 44 views
5

Oto część „uniwersalnego kodu” przez Disqus za:JavaScript - w jaki sposób Disqus obsługuje swoją funkcję "disqus_config", która zawiera niezdefiniowaną właściwość?

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 
}; 

Co nie undestand jest jak Disqus obsługiwać tę funkcję, ponieważ page jest undefined, więc nie można uzyskać dostępu do identifier lub url. ja testowałem kilka przykładów:

disqus_config(); 
console.log(disqus_config.page); 
var a = new disqus_config(); 

Ale ja nadal nie rozumiem, jak Disqus obsługiwać ten undefined element.

Odpowiedz

1

O ile widzę w kodzie embed.js to coś takiego:

var _config = window.disqus_config; 
window.disqus_config = function() { 
    if (_config) _config.call(this); 
    // Other stuff here.... 
}; 

Więc przed zastąpieniem go, kontrole Disqus jeśli istnieje następnie uruchamia go we własnym zakresie.