2015-07-01 32 views
0

我已經獲得了用於在我的網站上顯示Lync狀態的以下代碼,但是我期待的是計算特定狀態的用戶數量,例如,可用:3,離開:4,會議:2等 API中是否有函數返回狀態作爲數字,所以我可以使用for循環對它們進行計數並顯示在HTML中?計算Lync的可用用戶數量

<script> 
var nameCtrl = new ActiveXObject('Name.NameCtrl.1'); 
function getStatus(sipUri) { 
    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); 
var lyncpresencecolor = "gray"; 
switch (status) { 
    case 0: 
     document.getElementById(name).style.borderLeftColor = "#5DD255"; 
     break; 
    case 1: 
     document.getElementById(name).style.borderLeftColor = "#B6CFD8"; 
     break; 
    case 2: 
     document.getElementById(name).style.borderLeftColor = "#FFD200"; 
     break; 
    case 3: 
     document.getElementById(name).style.borderLeftColor = "#D00E0D"; 
     break; 
    case 4: 
     document.getElementById(name).style.borderLeftColor = "#FFD200"; 
     break; 
    case 5: 
     document.getElementById(name).style.borderLeftColor = "#D00E0D"; 
     break; 
    case 6: 
     document.getElementById(name).style.borderLeftColor = "#D00E0D"; 
     break; 
    case 7: 
     document.getElementById(name).style.borderLeftColor = "#D00E0D"; 
     break; 
    case 8: 
     document.getElementById(name).style.borderLeft = "dashed"; 
     document.getElementById(name).style.borderLeftWidth = "10px"; 
     document.getElementById(name).style.borderLeftColor = "#E57A79"; 
     break; 
    case 9: 
     document.getElementById(name).style.borderLeftColor = "#D00E0D"; 
     break; 
    case 15: 
     document.getElementById(name).style.borderLeftColor = "#D00E0D"; 
     break; 
    case 16: 
     document.getElementById(name).style.borderLeftColor = "#FFD200"; 
     break; 
    default: 
     document.getElementById(name).style.borderLeftColor = "#B6CFD8"; 
     break; 
} 
} 
function ShowOOUI(sipUri) 
{ 
nameCtrl.ShowOOUI(sipUri, 0, 15, 15); 
} 
function HideOOUI() 
{ 
nameCtrl.HideOOUI(); 
} 
</script> 

<span id="[email protected]" onmouseover="ShowOOUI('[email protected]')" onmouseout="HideOOUI()" style="border-left-style:solid; border-left-width: 10px;"> User Name</span> 
<script type="text/javascript"> 
    getStatus('[email protected]'); 
</script> 

感謝

回答

0

沒有,沒有,但如果你設置或增加您的狀態變化,比如一些簡單的類標籤。

document.getElementById(name).className = 'LyncStatus' + status; 

然後,你可以通過調用容易算來:

function getNumberOfUserByStatus(status) { 
    return document.getElementsByClassName('LyncStatus' + status).length; 
}