Originariamente inviato da metatad
Per verificare se una pagina viene aperta in un browser piuttosto che un altro, utilizzo il seguente script, che dovrebbe scrivere sulla pagina una frase in base al risultato (2 condizioni diverse).

Il risultato è che non scrive nulla!
Idee e/o suggerimenti?
mi sembra che stai mescolando funzioni con classi.. la logica è corretta ma scritta male..

esempio:
Codice PHP:
var BrowserDetect = {
    
init: function () {
        
this.browser this.searchString(this.dataBrowser) || "An unknown browser";
        
this.version this.searchVersion(navigator.userAgent)
            || 
this.searchVersion(navigator.appVersion)
            || 
"an unknown version";
        
this.OS this.searchString(this.dataOS) || "an unknown OS";
    } 
qui il this ha lo scope sulla funzione init() e non su BrowserDetect quindi non ha alcuna utilità all'interno delle altre funzioni..

come anche
Codice PHP:
var BrowserDetect = {
   
dataBrowser: [] 
non ti permette di fare this.dataBrowser sulla funzione init() perche lo scope del this è all'interno della funzione init(). Dovresti fare BrowserDetect.dataBrowser...

dipende se la vuoi fare come classe o come funzioni..