14. august 2001 - 14:47Der er
47 kommentarer og 1 løsning
vis millisekunder...
Jeg skal bruge en kode til at counte millesekunder, jeg har:
<script> function TimeDemo(){ var d, s = \"The current local time is: \"; var c = \":\"; d = new Date(); s += d.getHours() + c; s += d.getMinutes() + c; s += d.getSeconds() + c; s += d.getMilliseconds(); return(s); }
<html> <script> function TimeDemo(){ var d, s = \"The current local time is: \"; var c = \":\"; d = new Date(); s += d.getHours() + c; s += d.getMinutes() + c; s += d.getSeconds() + c; s += d.getMilliseconds(); return s; } </script> <body> <SCRIPT LANGUAGE=\"JavaScript\" TYPE=\"text/javascript\"> <!-- document.write( TimeDemo() ); //--> </SCRIPT> </body></html>
<body> <div id=\"tid\"></div> <script> TimeDemo(); function TimeDemo(){ var d, s = \"The current local time is: \"; var c = \":\"; d = new Date(); var hour = d.getHours(); var minutes = d.getMinutes(); var seconds = d.getSeconds(); if( minutes < 10 ) minutes = \"0\" + minutes; if( seconds < 10 ) seconds = \"0\" + seconds s += hour + c; s += minutes + c; s += seconds + c; s += d.getMilliseconds(); document.all[\"tid\"].innerText = s; setTimeout(\"TimeDemo()\",0); } </script> </body></html>
Jeg skal faktisk kun bruge millisekunder... Den skal starte ved 0 . tælle millisekunder kørere min asp søge funktion . stoppe millisekunder og så noget asp så jeg for tallet i minutter, sekunder, millisekunder, og tilsidst have resultatet i en VBScript variabel...
problemet er at du ikke kan bruke Javascript direkte til å finne ut av hvor lang tid søkningen tar. Grunnen til det er at javascript avvikles på klienten, og ASP avvikles på serveren.
Alternativet er at når du submitter ditt formular, så legger du tiden ned i et hidden field som du requester etter at søkningen er ferdig og sammenligner med \"nå\"-tiden. Porblemet med dette er at man ikke får den eksakte tiden for søket, man får også hvor lag tid det tar for å loade selve siden. Og det vil du jo ikke...
Du kan bare bruge ASP/JScript i stedet for ASP/VBScript.
<script language=JScript runat=Server> var nu = new Date(); response.write(nu.getMilliseconds()+\'<br>\'); </script> <% \' Udfør ASP/VBScript søge-funktion %> <script language=JScript runat=Server> var nu = new Date(); response.write(nu.getMilliseconds()+\'<br>\'); </script>
nute > \"problemet er at du ikke kan bruke Javascript direkte til å finne ut av hvor lang tid søkningen tar. Grunnen til det er at javascript avvikles på klienten, og ASP avvikles på serveren.\"
Det er forkert. Serveren kan både afvikle JScript og VBScript - Hvis klienten er IE kan denne også afvikle både JScript og VBScript.
<script language=JScript runat=Server> var start = new Date; start = start.getMilliseconds(); </script> <% \' Udfør ASP/VBScript søge-funktion %> <script language=JScript runat=Server> var nu = new Date(); response.write(\'Søgningen tog i alt\'+(nu.getMilliseconds() - start)+\'<br>\'); </script>
<script language=JScript runat=Server> var start = new Date; var startMS = start.getMilliseconds(); var startS = start.getSeconds(); </script> <% \' Udfør ASP/VBScript søge-funktion %> <script language=JScript runat=Server> var nu = new Date(); response.write(\'Søgningen tog i alt \'+(nu.getSeconds() - startS)+\' sekunder og \'+(nu.getMilliseconds() - startMS)+\' millisekunder :o)<br>\'); </script>
winkill >> er enig i det. Det jeg skrev (eller prøvde å skrive) var at man ikke kunne bruke JavaScript (ikke JScript) til ønsket funksjonalitet. Grunnen er nemlig den at man ikke bør bruke browseren til å regne ut hvor lang tid en søkning tar siden loadtid alltid vil forstyrre resultatet...
Tilføjelse >> Response er med stort R og Write med stort W i JScript
nute >> Ja ok, JavaScript og JScript er ikke helt det samme, men JavaScript eksisterer heller ikke i eks. IE og kan derfor slet ikke afvikles, hverken på server eller klient ;o)
david_dollas >> prøv denne så kan du se at det virker:
<script language=JScript runat=Server> var startTid = new Date; startTid = startTid.getMilliseconds(); response.write(startTid + \"<br>\"); for( var i = 0; i < 100000; i++){} var nu = new Date(); response.write(nu.getMilliseconds() + \"<br>\"); response.write(\'Søgningen tog i alt \'+(nu.getMilliseconds() - startTid)+\' millisekunder<br>\'); </script> <html> <body> </body> </html>
david > Hvis søgningen tager mindre end 10 millisekunder, så vil MS counteren ikke blive opdateret (hvis serveren kører Windows) og så vil du ikke få noget resultat - det samme kan være tilfældet hvis du bruger ADODB objekter, som i mange tilfælde låser en stor del af serverens rescourcer, både ved Connect og Queri.
Nope, men mit sidste svar fungerer også helt fint. Jeg har lige kodet det ind et par steder på min hjemmeside.
Her er sourcen som jeg selv benytter den - sat op i et eksempel.
<%@ Language=JScript %> <% var T = new Timer(); // Skab en ny Timer. T.Start(); // Start timeren. // Her gør vi en helt masse, for at bruge en masse tid. for(var x=0;x<5000;x++) { Response.Write(x+\'<br>\'); } T.Stop(); // Stop timeren Response.Write(\'Resultat: \'+T.R+\'<br>\'); // Udskriv resultatet. %>
Du kan klippe fra linien før \"//Constructor\" og nedefter og placerer det i en include - husk at der i toppen af din include-fil skal stå <%@ Language=JScript %> så serveren ved hvilket sprog vi taler/skriver. ;o)
Det den gør nu er: JScript (start timer) JScript (stop timer) Udfør ASP/VB scripts (div scripts) Dette gør den også selvom at scriptne står som i det første eksemples rækkefølger.
Nej, det passer ikke helt, for den regner faktisk det rigtige ud, jeg har bare lavet det sådan at den skriver værdien ud i <script></script> taget. Det den så skal er putte java variablen over i en VBScript variabel.
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.