2011-01-20 11 views
5

Come faccio a verificare se una variabile è di tipo DOMWindow in Google Chrome? Quando provo a fare riferimento al tipo DOMWindow, ottengo un ReferenceError. Per esempio, quando ho provare a controllare il tipo di finestra nella console:Come fare riferimento al tipo DOMWindow in Google Chrome?

> window instanceof DOMWindow 

    ReferenceError: DOMWindow is not defined 

Ma finestra è chiaramente di tipo DOMWindow. Che cosa sto facendo di sbagliato?

+2

io non sono certo capisco il tuo punto. la finestra è un oggetto ... di tipo DOMWindow. –

+0

Non vedo il tipo DOMWindow nel mio Chrome. Sei sicuro che sia un tipo? –

+0

@Mohamed - Non ci sono classi in Javascript, la tua dichiarazione è vuota. – galambalazs

risposta

4

Cosa sto sbagliando?

si ottiene un errore di riferimento ReferenceError: DOMWindow is not defined perché non c'è DOMWindow membro sull'oggetto globale per controllare contro.

si ottiene lo stesso errore se si digita window instanceof rubbish

window.constructor.name può darvi ciò che si vuole (una stringa "DOMWindow" per verificare contro), althogh Devo avvertirla che è non-standard.

+2

window.constuctor.name funzionerà correttamente per me. È sfortunato che non è standard, ma questo è per un'estensione, quindi deve funzionare solo in Chrome comunque. Grazie per l'aiuto! –

2

Provare a utilizzare .constructor. Esempio:

alert(window.constructor); 

Questo dovrebbe dare a DOMWindow o qualche sua variazione, almeno in Chrome.