L'exemple de cet article décrit comment obtenir l'utilisation actuelle du processeur à l'aide de JavaScript. Partagez-le avec tout le monde pour votre référence, les détails sont les suivants :
Si vous souhaitez obtenir l'utilisation actuelle du processeur du système, si l'utilisation de hta est autorisée, vous pouvez utiliser le code suivant pour obtenir l'utilisation actuelle du processeur (plus précise)
setInterval(function() { var locator=new ActiveXObject ("WbemScripting.SWbemLocator"); var service=locator.ConnectServer("."); var cpu=new Enumerator (service.ExecQuery("SELECT * FROM Win32_Processor")).item(); document.title = cpu.LoadPercentage; }, 1000);
Si la méthode ci-dessus n'est pas autorisée, existe-t-il une méthode plus appropriée pour faire une estimation approximative sur une page Web normale ?
L'idée est d'utiliser un timer. Supposons que le temps d'exécution de l'intervalle soit de 500 ms, jugez le temps entre le début du timing et cette exécution. Si la différence entre les deux == 500, cela peut être en gros. considéré comme normal. Si > 500, utilisez des valeurs différentes pour déterminer l'état d'occupation du processeur (car différentes machines ont des capacités de traitement du processeur différentes, il ne s'agit donc que d'une estimation approximative, pas tout à fait précise et a une forte dépendance. sur certains paramètres du système)
function cpuSimulator() { var J = 100, getNow = function() { return new Date().getTime(); }; !(function() { var I = document.createElement("div"), s = 50, fn = function(l) { l = 1; var now = getNow(); var c = 1; while (c < J) { if (now > D + c*s) { l++; } c++; } D = getNow(); I.innerHTML = "CPU:" + l/J * 100 + "%"; }, t = setInterval(fn, 500), D = getNow(); I.style.cssText = "width:80px; height:20px; position:fixed !important; _position:absolute; top:10px; right:10px; border:1px solid #406c99; padding:2px; color:#f00;"; document.body.appendChild(I); fn(); })(); }
Si vous souhaitez porter un jugement plus précis, vous pouvez uniquement ajuster le temps d'exécution de la minuterie et comparer la différence.
Quelqu'un avait écrit un tel exemple sur ajax.com il y a quelques années. C'est relativement simple à utiliser, il suffit de saisir directement dans la barre d'adresse de la page web que vous souhaitez surveiller :
Une petite icône apparaîtra dans le coin supérieur droit de la page actuelle, qui est divisée en 5 niveaux, représentant respectivement l'état de la tâche CPU élevée actuelle (trop élevée signifie que l'utilisation du CPU est relativement élevée, et seulement un une estimation approximative peut être faite. Pas très précise)
Voici un exemple en ligne :
<html> <head> <script type="text/javascript" src="http://www.3site.eu/JPU/JPU.js"> <!--// JPU - by WebReflection //--> </script> <script type="text/javascript"> <!--// function randomString(){ for(var i = 0, a = []; i < Math.ceil(Math.random() * 123456789); i++) a[i] = String.fromCharCode(Math.round(Math.random() * 50) + 30); return a.join(""); }; onload = function(){ setInterval(function(){ var div = document.getElementById("demo"); div.appendChild(document.createTextNode(randomString())); }, 300); }; //--> </script> <style type="text/css"> div{overflow:hidden;width:80%;height:80%;color:#FFF;} </style> </head> <body> <div id="demo"></div> </body> </html>
L'intégralité du code IJPU est relativement court, vous pouvez vous y référer :
/* (C) Andrea Giammarchi */ (function (J, P, U) { var a = 'appendChild', c = 'createElement', e = 'addEventListener', d = document, l = "load", w = window; (function () { var i = setInterval(function (l) { l = 1; D = new Date - D; if (D > 700) l++; if (D > 650) l++; if (D > 600) l++; if (D > 550) l++; s(J = l < J ? --J : l); D = new Date }, 500), b = d.body, s = function () { I.className = U + J }, I = d[c]('p'), C = d[c]('link'), D = new Date; C.rel = 'stylesheet'; C.type = 'text/css'; C.href = P + U + '.css'; s(b[a](C), b[a](I)); /*@cc_on setInterval(function(){I.style.top=document.body.scrollTop+"px"},50)@*/ })() })(5, 'http://www.3site.eu/JPU/', 'JPU');
J'espère que cet article sera utile à tout le monde dans la programmation JavaScript.