Jump to content
php.lv forumi

Kā pareizi vajadzētu veidot bidding countdown ?


EdgarsK

Recommended Posts

Sveiki!

 

Vēlos uzzināt Jūsu subjektīvo viedokli.

Man ir jāizveido "Bidding Countdown" ar visām pārbaudēm vai kāds ir nobalsojis un laiks būtu jāatjauno.

 

Itkā izveidoju šo js kodu kurš ielādētu php failu (Pulksteni kurs raditu laiku)

 

function Grimmer() {
 var Inses=getForm("inses").getElementsByTagName("input");
 for(i=0;i<Inses.length;i++){
   loadpage('partTime'+Inses[i].value,'/?auction='+Inses[i].value);
//   setTimeout("Grimmer()",1000);
 }
}
function Grim(auctions) {
 if(!getForm("inses")) {
   var inses=document.createElement("div");
   inses.id="inses";
   inses.style.display="none";
   document.body.appendChild(inses);
   for(i=0;i<auctions.length;i++){
     var input=document.createElement("input");
     input.type="hidden";
     input.name="inse_"+i;
     input.value=auctions[i];
     getForm("inses").appendChild(input);
   }
 }
 Grimmer();
}var Pot=new Array(6,2,3,19,14,5,4,15,12); // Active auction id numbers
Grim(Pot);

 

Jautājums ir sekojošs.

funkcijā "Grimmer()" esmu nokomentējis setTimeout. lai atkārtoti ielādētu šo funkciju un uzzinātu datus, bet kā šo intervālu veidot labāk ?

Jo šobrīd ielādējot nokaras viss pārlūks. no milzumdaudz pieprasijumiem.

 

Edit: Ja vēl nav īsti skaidrs ko vēlos

* Kāds būtu labākais intervāls lai sūtītu pieprasijumu (1 sek?)

* Varbūt ir kāds labāks variants kā iegūt pieprasijuma rezultatu ar intervālu (piem 1sek)?

* Ja izmantoju Ajax, kā labāk izdarīt lai teiksim caur "Firefox Firebug console" neuzrādītu pieprasijuma adreses un rezultatus kā arī headerus (nav obligāti, bet būtu labāk ja neredzētu ko sūta/saņem)

Edited by EdgarsA
Link to comment
Share on other sites

Es nesaprast, kāpēc tur tas cikls?

 

Ieej mafiozi.lv tur ir smuki uztaisīts atskaitīklis ;)

 

Ar PHP uzīmē kaut ko tādu var ecdown=38; un tad ar JS no tā atskaita.

Link to comment
Share on other sites

baac :/ veci nenjem vera ciklu, cikls veido input kuros ir vertibas prieks man vajadzigas informacijas, njem veeraa manu jautjaumu.

Kaadus variantus Tu/Kāds cits iesakat man lai izmantoju "info iegūšanai" xmlhttprequest izmantoju šobrīd, bet esmu pamanijis to kad viņš uz atkārtotiem pieprasijumiem

1) neieladejas

2) nobremze browseri.

Link to comment
Share on other sites

Nū, čalīt. Šitai fīčai ir daudz visādu nianšu. Ja tev vajag bieži atjaunot info, tad, lai cipari dikti nelēkātu ir ļooti jāpacenšas. Vienu reizi šitam izgāju cauri - nedomāju, ka gribās daudz un sīki stāstīt, jo pisaks bija liels.

Lai nedaudz atvieglotu tev pasākumu:

1. Izmantojam JSON pieprasījumiem

2. Countdown ir neatkarīgs skripts no info atjaunošanas

3. Uz seervera neizmantojam tādas perversijas kā mysql pieprasījumus, tas kavē laiku un sekundes var sākt lēkāt (pie slodzes, protams, bet nepatīkami). Memcached būs tavs draugs.

4. pieprasījumus noteikti ka ir jāveic biežāk kā reizi sekundē! JO, sekundes daļas mēdz lēkāt, ir pieprasījuma ilgums e.t.c. un klientam nepatīk, ja saņem produktu, kurā kāda sekunde mēdz stāvēt 2 sek, un kādu reizi nolekt uzreiz vairākas sekundes.

5. Ja tev neielādējas pieprasījums - galā liec random stringu!! Brauzeris, jo īpaši IE, pie atārtotiem vienādiem pieprasījumiem vienkārši vairs neielādē jaunos rezultātus, bet bliež no keša.

6. Ja tev bremzē brauzeri - izslēdz firebug.

 

Un bļin, jau ļoooti daudz tev pateicu priekšā, pārāk daudz...

Edited by ohmygod
Link to comment
Share on other sites

ohmygod,

 

1. datu formātam nav tik lielas nozīmes. Tikpat labi var atgriezt XML vai dajebkādu citu formātu, kaut vai ar | salīmētu tekstu, kuru pēc tam JS pusē ar | sasplito. Ir daudz citu svarīgāku nianšu.

2. loģiski, jo countdown ir javascript, info atjaunošana notiek servera pusē.

3. nebaidi cilvēku, vienkārši jāizmanto saprātīgs kešošanas mehānisms un pilnīgi pieļauju domu, ka var iztikt arī ar pliku un PAREIZI sarakstītu MySQL

4. pieprasījums biežāk kā reizi sekundē ir vienkārši šāviens kājā - piedāvāju gluži pretējo - ja ir atlikušas vairāk kā 10 sekundes, tad pieprasījumus veikt kaut vai reizi 3 sekundēs, jo tāpat visa aktivitāte notiek tieši pašās beigās

5. random stringa vietā var vienkārši izmantot POST pieprasījumu, jo POST pieprasījumus neviens pārlūks nekešo

 

..un ja tu uzskati, ka kādam kaut ko baigi saki priekšā un kāds tev par to ir te parādā, tad droši vari vienkārši nerakstīt :)

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...