2008-11-29 8 views
1

J'essaie d'écrire un programme javascript qui peut être appelé à partir de WScript ou d'un navigateur (intégré dans html). De nombreuses fonctions javascript sont indépendantes du type d'appelant, mais pas des fonctions de débogage, telles que "window.write" ou "WScript.alert". Je suis conscient que les fonctions javascript peuvent déterminer le nom de leur appelant, mais pas les programmes principaux javascript.Comment mon javascript peut-il déterminer s'il a été appelé par WScript ou un navigateur?

Cas 1: l'appelant est WScript, WScript de

Cas n ° 2: l'appelant est navigateur,

Comment peut sample.js déterminer si elle a été appelée par WScript ou un navigateur?

Répondre

3

Vous pouvez vérifier si votre script a été appelé à partir de WScript ou d'un navigateur en vérifiant la présence/l'absence des objets WScript/window. Un navigateur n'a pas d'objet WScript intégré et un script WScript n'a généralement pas accès à un objet fenêtre (sauf si vous le créez).

Par exemple ...

function Test() 
{ 
    if(typeof WScript!= "undefined") 
    { 
     WScript.Echo("Hello WScript!"); 
    } 
    else if (typeof window != "undefined") 
    { 
     alert("Hello browser!"); 
    } 
} 
Questions connexes