Autor | Zpráva | ||
---|---|---|---|
alt64 Profil * |
#1 · Zasláno: 10. 11. 2011, 15:04:09
Zdfravim,
rad bych do sve aplikace pidal primitivni validaci poctu spusteni app pro demoverzi, rozhodl jsme se to udelat pomoci localstorage. Bohuzel mam probelm s prvnim prirazenim hodnoty count_of_runs, bud spatne pouzivat typeof fci ('undefined' jsem jiz zkousel) , nebo je problem nekde jinde? Diky za kazdou radu: function checkValidity() { //window.localStorage. clear(); var countOfRuns = window.localStorage.getItem("count_of_runs"); if(typeof(countOfRuns)==undefined) { alert('Prvni pristup'); window.localStorage.setItem("count_of_runs",1); } if(countOfRuns < 5) { newcountOfRuns = parseInt(countOfRuns) + 1; window.localStorage.setItem("count_of_runs",newcountOfRuns ); alert('Pocetc spusteni ' + window.localStorage.getItem("count_of_runs") ); } if(countOfRuns >= 5) { //alert(countOfRuns); alert('Zkusebni verze vyprsela'); return false; } } |
||
Chamurappi Profil |
#2 · Zasláno: 10. 11. 2011, 15:15:31
Reaguji na alta64:
„bud spatne pouzivat typeof fci“ Ta vrací vždy řetězec. „('undefined' jsem jiz zkousel)“ Pokud vím, tak localStorage.getItem vrací při nenalezení položky null , což je hodnota, jejíž typeof je "object" .
Proč vůbec chceš používat typeof ? Proč nepoužiješ prostě if(countOfRuns) ?
|
||
alt64 Profil * |
#3 · Zasláno: 10. 11. 2011, 16:47:14
Protoze kdyz jsem zkousel if(countOfRuns), tak se porad zasekavam na prvni podmince, coz ji myslim, ze je dano tim, ze hodnota je 1, coz je vj JS i true, takze se to pres ni po druhme a dalsim spusteni nedostane.
var countOfRuns = window.localStorage.getItem("count_of_runs"); if(countOfRuns) { alert('Prvni pristup'); window.localStorage.setItem("count_of_runs",1); } if(countOfRuns < 5) { newcountOfRuns = parseInt(countOfRuns) + 1; window.localStorage.setItem("count_of_runs",newcountOfRuns ); alert('Pocetc spusteni ' + window.localStorage.getItem("count_of_runs") ); } if(countOfRuns >= 5) { //alert(countOfRuns); alert('Zkusebni verze vyprsela'); return false; } |
||
Chamurappi Profil |
#4 · Zasláno: 10. 11. 2011, 16:49:56
Reaguji na alta64:
„coz ji myslim, ze je dano tim, ze hodnota je 1, coz je vj JS i true“ Aha, tak obráceně. |
||
Darker Profil |
#5 · Zasláno: 10. 11. 2011, 18:32:28 · Upravil/a: Darker
alt64:
Předpokládám že víš ža každý kdo se v JS aspoň trochu vyzná se takové ochraně vysměje. (nevím jak moc záleží na její neprůchodnosti, jen na to upozorňuji) Chamurappi: Dají se tahle uložená data nějak monitorovat? |
||
Časová prodleva: 3 dny
|
|||
alt64 Profil * |
#6 · Zasláno: 13. 11. 2011, 20:15:55
Je mi jasny, ze to je smesna "ochrana" ale pro ucel na ketry to je neni potreba nic jineho, spis mi nejde do hlavy tohle:
Kdyz spustim aplikaciv klasickem browseru, vse funguje O.K, ale pokud v nativnim prohlizeci Androidu, tak mi prophliec pocita hodnoty uplne divvne, pro prvni iteraci to nahlasi 'Toto je časově omezená verze, aplikaci je možno spustit ještě -52678 krát' Kod prikladam> function checkValidity() { var maximumOfRuns = 10; //window.localStorage. clear(); var countOfRuns = window.localStorage.getItem("count_of_runs"); if(!countOfRuns) { //alert('Prvni pristup'); window.localStorage.setItem("count_of_runs",1); } if(countOfRuns < maximumOfRuns) { var newcountOfRuns = parseInt(countOfRuns) + 1; window.localStorage.setItem("count_of_runs",newcountOfRuns ); var left = parseInt (maximumOfRuns) - parseInt(newcountOfRuns) ; alert('Toto je časově omezená verze, aplikaci je možno spustit ještě ' + left + ' krát'); //showMessage('Časově omezená verze', "Aplikace je omezena na celkově 5 spuštění", "O.K" ); } if(parseInt(countOfRuns) >= parseInt(maximumOfRuns)) { //alert(countOfRuns); alert('Zkušební verze vypršela' ); //showMessage('Zkušební verze vypršela', "Aplikace je omezena na celkově 5 spuštění", "O.K" ); //REDIRECT PAGE $.mobile.changePage("#purchaseAppPage", "slide", false, false); return false; } //+alert(countOfRuns); } |
||
Časová prodleva: 12 let
|
0