2010-11-09 4 views

Respuesta

7

Si se dirige a la plataforma de Windows, la forma más sencilla es hacer todo lo relacionado con el cliente. Siempre que los clientes ejecuten IE, Office 2003 o superior, y Communicator 2007 o superior, puede usar el objeto ActiveX NameCtrl que se distribuye con Office.

El siguiente código debería empezar:

<script> 

var sipUri = "[email protected]"; 

var nameCtrl = new ActiveXObject('Name.NameCtrl.1'); 
if (nameCtrl.PresenceEnabled) 
{ 
    nameCtrl.OnStatusChange = onStatusChange; 
    nameCtrl.GetStatus(sipUri, "1"); 
} 


function onStatusChange(name, status, id) 
{ 
    // This function is fired when the contacts presence status changes. 
    // In a real world solution, you would want to update an image to reflect the users presence 
    alert(name + ", " + status + ", " + id); 
} 

function ShowOOUI() 
{ 
    nameCtrl.ShowOOUI(sipUri, 0, 15, 15); 
} 

function HideOOUI() 
{ 
    nameCtrl.HideOOUI(); 
} 

</script> 

<span onmouseover="ShowOOUI()" onmouseout="HideOOUI()" style="border-style:solid">Your Contact</span> 

Para una solución en el mundo real, usted sólo tiene que aplicar una imagen que cambia en función del estado de presencia que es retornada (es decir, una burbuja de presencia se muestra junto al nombre de cada usuario) y una colección de sip uris a las imágenes, para garantizar que pueda asignar un cambio de estado entrante a la imagen relevante.

Cuestiones relacionadas