2015-12-25 37 views
5

Ecco una parte di "codice universale" del Disqus:JavaScript - In che modo Disqus gestisce la sua funzione "disqus_config" che contiene una proprietà non definita?

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

Quello che non undestand è come Disqus gestire questa funzione, perché è pageundefined, quindi non siamo in grado di accedere a identifier o url. Ho testato diversi esempi:

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

Ma io ancora non capisco come Disqus gestire questo elemento undefined.

risposta

1

Per quanto vedo, il codice embed.js E 'qualcosa di simile:

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

Quindi, prima di sostituirla, assegni Disqus se esiste, allora lo esegue nel proprio ambito.