Game on!quote:Op dinsdag 31 juli 2007 00:13 schreef wobbel het volgende:
Ik wil graag beginnen met PHP en Ajax...lijkt me wel lachen enzo
Nu ben ik op zoek naar een soort memoblok in Ajax, PHP en MySQL. Dus gewoon een text-area waar je wat typt en dan het dan gewoon opgeslagen wordt zonder dat ik op een submit knop hoef te drukkenLijkt me echt ideaal, want dan kan ik me browser afsluiten en later weer openen en dan staat het er gewoon weer (omdat het uit de DB wordt gehaald)
Ik zoek dus eigenlijk een klein kant en klaar script zodat ik beetje met Ajax kan knutselen
Voor online gebruik, of puur lokaal? De enige goed werkende manier om dit te doen is door elke keer als je een toets drukt het op te slaan, maar dat vreet enorm.quote:Op dinsdag 31 juli 2007 00:13 schreef wobbel het volgende:
Ik wil graag beginnen met PHP en Ajax...lijkt me wel lachen enzo
Nu ben ik op zoek naar een soort memoblok in Ajax, PHP en MySQL. Dus gewoon een text-area waar je wat typt en dan het dan gewoon opgeslagen wordt zonder dat ik op een submit knop hoef te drukkenLijkt me echt ideaal, want dan kan ik me browser afsluiten en later weer openen en dan staat het er gewoon weer (omdat het uit de DB wordt gehaald)
Ik zoek dus eigenlijk een klein kant en klaar script zodat ik beetje met Ajax kan knutselen
Bijna goedquote:Op dinsdag 31 juli 2007 01:20 schreef Geqxon het volgende:
[..]
Voor online gebruik, of puur lokaal? De enige goed werkende manier om dit te doen is door elke keer als je een toets drukt het op te slaan, maar dat vreet enorm.
Dan ben je alleen wel data kwijt als je te snel afsluit. Dan kun je net zo goed met een onblur werken.quote:Op dinsdag 31 juli 2007 07:51 schreef WyriHaximus het volgende:
[..]
Bijna goed. Je kunt er een vertraging van een seconde inbouwen na de laatste keypress voordat je de AJAX call maakt. Zo zit er altijd minstens een seconde tussen zodat het niet enorm vreet, maar word het wel vaak geupdate in je backend
.
Dan maak je er 1/4 seconde vanquote:Op dinsdag 31 juli 2007 08:19 schreef Geqxon het volgende:
[..]
Dan ben je alleen wel data kwijt als je te snel afsluit. Dan kun je net zo goed met een onblur werken..
Maar goed, zoals ik al zei: Dat is dus de enige goedwerkende manier. Als je het anders gaat doen is de kans groot dat je data kwijt bent, en de hele functie van de applicatie weg is.
quote:Op dinsdag 31 juli 2007 08:32 schreef Mordreth het volgende:
tvptje
Dat is inderdaad een goede, een timer die om de 250 ms kijkt of er iets veranderd is, en zo ja > Submit.quote:Op dinsdag 31 juli 2007 08:31 schreef WyriHaximus het volgende:
[..]
Dan maak je er 1/4 seconde van. Na het typen en maximaal 5 seconde tussen 2 save acties
. En misschien met indicatortje er bij van of het veilig is om af te sluiten
. De kans dat iemand binnen die 1/4 van een seconde weet af te sluiten is vrij klein
. Sowieso moet je je verbindingen gaan reguleren anders ga je een behoorlijke rotzooi aan nutteloze overhead krijgen aan AJAX calls die eingelijk direct al weer nutteloos worden doordat je direct er na een volgende toets indrukt en de volgende call alweer triggerd
. (Geloof me dat wil je niet
.)
Je kunt toch ook onunload gebruiken? Dan sla je alles op op het moment dat het window afgesloten wordt of de pagina verlaten wordt.quote:Op dinsdag 31 juli 2007 08:31 schreef WyriHaximus het volgende:
[..]
Dan maak je er 1/4 seconde van. Na het typen en maximaal 5 seconde tussen 2 save acties
. En misschien met indicatortje er bij van of het veilig is om af te sluiten
. De kans dat iemand binnen die 1/4 van een seconde weet af te sluiten is vrij klein
. Sowieso moet je je verbindingen gaan reguleren anders ga je een behoorlijke rotzooi aan nutteloze overhead krijgen aan AJAX calls die eingelijk direct al weer nutteloos worden doordat je direct er na een volgende toets indrukt en de volgende call alweer triggerd
. (Geloof me dat wil je niet
.)
Maar je kan er ook een server mee onderuit trekken als je niet uit kijkt.quote:Op dinsdag 31 juli 2007 09:37 schreef Geqxon het volgende:
Veel AJAX calls zijn overigens geen enkel probleem. Zelf kan in binnen een seconden of drie 50 calls afhandelen.
Yeah, het mooie daar van is dat je de server niet zwaar belastquote:Op dinsdag 31 juli 2007 09:37 schreef Geqxon het volgende:
[..]
Dat is inderdaad een goede, een timer die om de 250 ms kijkt of er iets veranderd is, en zo ja > Submit.
Het kan alleen, zoals SuperRembo als zegt, kan je er vrij gemakkelijk een server me onderuit halenquote:Op dinsdag 31 juli 2007 09:37 schreef Geqxon het volgende:
Veel AJAX calls zijn overigens geen enkel probleem. Zelf kan in binnen een seconden of drie 50 calls afhandelen. In mijn situatie: Je klikt op een vakje, in een array word een XML-object aangemaakt, je vraagt een PHP pagina op, die rommelt wat in de database, en vervolgens krijgt de user een XML bestand terug met de instructies die Javascript af moet handelen. In dit geval het blauw oplichten van het vakje. Voor de grap een javascript actie gemaakt die alle 50 vakjes in 1 keer veranderd, en na ongeveer 3 seconde waren ze allemaal opgelicht. Was wel grappig om te zien, dat ze allemaal op een rijtje van kleur switchte.
Ja dat kan ook maar dan moet je AJAX call wel snel genoeg zijnquote:Op dinsdag 31 juli 2007 10:00 schreef doka het volgende:
[..]
Je kunt toch ook onunload gebruiken? Dan sla je alles op op het moment dat het window afgesloten wordt of de pagina verlaten wordt.
quote:Op dinsdag 31 juli 2007 10:11 schreef SuperRembo het volgende:
[..]
Maar je kan er ook een server mee onderuit trekken als je niet uit kijkt.
Op het moment dat het document afgesloten wordt moet je een niet-synchrone call doen, dan wordt je document altijd opgeslagen. Dan hoef je zelfs in principe verder helemaal geen calls te doen tijdens het editten van de text. Hoewel je het voor de zekerheid beter wel kunt doen.quote:Op dinsdag 31 juli 2007 10:28 schreef WyriHaximus het volgende:
Ja dat kan ook maar dan moet je AJAX call wel snel genoeg zijn. Geeft je iig een stuk minder zekerheid dan met times outs zoals hier boven beschreven staat
.
Hmm werkt die ook nog op het moment dat de unload word getriggerd doordat je je browser afsluit?quote:Op dinsdag 31 juli 2007 10:38 schreef doka het volgende:
[..]
Op het moment dat het document afgesloten wordt moet je een niet-synchrone call doen, dan wordt je document altijd opgeslagen. Dan hoef je zelfs in principe verder helemaal geen calls te doen tijdens het editten van de text. Hoewel je het voor de zekerheid beter wel kunt doen.
Dat weet ik niet eigenlijk...quote:Op dinsdag 31 juli 2007 10:41 schreef WyriHaximus het volgende:
[..]
Hmm werkt die ook nog op het moment dat de unload word getriggerd doordat je je browser afsluit?
Ik heb er voor de grap een controller achter gehangen die een tekstbestand inleest. Als mijn hostingsprovider meewerkt zal ik hem uploaden.quote:Op dinsdag 31 juli 2007 10:41 schreef Geqxon het volgende:
Ik ben iets te ver doorgeschoten met mijn voorbeeld:
Download
Disclaimer: Het kan beter, sneller, anders, maar dit doet wat het moet doen.
En als je echt zekerheid wilt, dan maak je voor elke AJAX-call een nieuw XML-object aan.
Leuk beginnetje... alleen er moet toch nog best veel gebeuren om het echt goed te laten werken.quote:Op dinsdag 31 juli 2007 13:21 schreef Geqxon het volgende:
[..]
Edit: Toegepast voorbeeld
Heb ik toch zomaar per ongeluk een MVC model toegepast.
Proof of concept.quote:Op dinsdag 31 juli 2007 14:59 schreef SuperRembo het volgende:
[..]
Leuk beginnetje... alleen er moet toch nog best veel gebeuren om het echt goed te laten werken.![]()
Jep, onkeydown. Wat je eventueel kunt doen is naar het verschil tussen de vorige update kijken, gecombineerd met de datum van de laatste update. Dat hij pas update als er al een seconde lang geen updates meer zijn.quote:Op dinsdag 31 juli 2007 15:26 schreef SuperRembo het volgende:
Dit kreng update zelfs als je er gewoon met de pijltjes doorheen navigeert
True true, maar als je al zo ver bent kun je de rest toch ook wel even fixen?quote:Op dinsdag 31 juli 2007 16:30 schreef JeRa het volgende:
Wat maakt het uit of het werkt of niet, het is een proof of concept. De bugs eruithalen kun je zelf alsnog doen
Ik zal zometeen de v10.3 ultimate deluxe versie uploaden.quote:Op dinsdag 31 juli 2007 17:33 schreef Chandler het volgende:
[..]
True true, maar als je al zo ver bent kun je de rest toch ook wel even fixen?
Niet dat ik het nodig ben oid
Je form op een iframe richten en met een AJAX call om de zoveel tijd kijken of het al binnen is en ondertussen een progress bar laten zienquote:Op dinsdag 31 juli 2007 18:17 schreef wobbel het volgende:
Hehe dat was idd m'n bedoeling. Ik merk wel dat je hiervoor een redelijke kennis van JS moet hebben(en die heb ik atm nog niet)
Trouwens, is het ook mogelijk om bijv. een file te uploaden met AJAX (een MP3 bijv.)? Normaal gesproken als je een POST doet met een groot bestand als upload blijft alles wit (pagina blijft voor je gevoel laden).
Je kan dan met AJAX een file uploaden, een mooi laadbalkje weergeven en vervolgens evt. wat gegevens over de upload weergevenen dat ook nog eens zonder de hele pagina te herladen
ja idd, al laat je ze iets fakes zien dan trappen ze er vaak genoeg inquote:Op dinsdag 31 juli 2007 18:28 schreef GVRuud het volgende:
Mijn Safari wordt er inderdaad niet vrolijk van als je m tussentijds wilt afsluiten. Maargoed.. Als je zelf niet de mogelijkheid hebt om bij je provider die maximale upload limiet op te schroeven....
Ps. Ik kan dus wel een mooi voortgangsbalkje laten zien, en daar wachten mensen meestal wel braaf op.
Ja maar ik moet het zelf ook gebruiken dus wil wel weten of ik nog naar de koffiepot kan lopenquote:Op dinsdag 31 juli 2007 18:34 schreef WyriHaximus het volgende:
ja idd, al laat je ze iets fakes zien dan trappen ze er vaak genoeg in.
Internal Server Errorquote:
Waarom maak je de call niet op het moment dat enig ander event afgaat? Dus indien de focus van het veld af word gehaald door de gebruiker (al dan niet afsluiten e.d)quote:Op dinsdag 31 juli 2007 08:31 schreef WyriHaximus het volgende:
[..]
Dan maak je er 1/4 seconde van. Na het typen en maximaal 5 seconde tussen 2 save acties
. En misschien met indicatortje er bij van of het veilig is om af te sluiten
. De kans dat iemand binnen die 1/4 van een seconde weet af te sluiten is vrij klein
. Sowieso moet je je verbindingen gaan reguleren anders ga je een behoorlijke rotzooi aan nutteloze overhead krijgen aan AJAX calls die eingelijk direct al weer nutteloos worden doordat je direct er na een volgende toets indrukt en de volgende call alweer triggerd
. (Geloof me dat wil je niet
.)
Iets zegt mij dat het goed fout gaat als je een asymetrische functie aanroept op het moment dat je je browser afsluit. Daarnaast is deze manier voor de gebruiker beter, want zodra dat lampje groen word, is het 100% zeker dat het bestand opgeslagen is. (immers, PHP stuurt Javascript hier aan om het lampje groen op te laten lichten, wat hij doet zodra de schrijfactie succesvol is).quote:Op dinsdag 31 juli 2007 18:41 schreef Scorpie het volgende:
[..]
Waarom maak je de call niet op het moment dat enig ander event afgaat? Dus indien de focus van het veld af word gehaald door de gebruiker (al dan niet afsluiten e.d)
Misschien, maar om nou voor elke toetsaanslag een call te doen is ook overkill mijns inzien.quote:Op dinsdag 31 juli 2007 18:45 schreef Geqxon het volgende:
[..]
Iets zegt mij dat het goed fout gaat als je een asymetrische functie aanroept op het moment dat je je browser afsluit. Daarnaast is deze manier voor de gebruiker beter, want zodra dat lampje groen word, is het 100% zeker dat het bestand opgeslagen is. (immers, PHP stuurt Javascript hier aan om het lampje groen op te laten lichten, wat hij doet zodra de schrijfactie succesvol is).
Je kunt ook gewoon altijd naar de koffiepot lopen dan weet je zeker dat het klaar is als je terug komtquote:Op dinsdag 31 juli 2007 18:37 schreef GVRuud het volgende:
[..]
Ja maar ik moet het zelf ook gebruiken dus wil wel weten of ik nog naar de koffiepot kan lopen
quote:Op dinsdag 31 juli 2007 18:41 schreef Scorpie het volgende:
[..]
Waarom maak je de call niet op het moment dat enig ander event afgaat? Dus indien de focus van het veld af word gehaald door de gebruiker (al dan niet afsluiten e.d)
Wat Geqxon zegt dusquote:Op dinsdag 31 juli 2007 18:45 schreef Geqxon het volgende:
[..]
Iets zegt mij dat het goed fout gaat als je een asymetrische functie aanroept op het moment dat je je browser afsluit. Daarnaast is deze manier voor de gebruiker beter, want zodra dat lampje groen word, is het 100% zeker dat het bestand opgeslagen is. (immers, PHP stuurt Javascript hier aan om het lampje groen op te laten lichten, wat hij doet zodra de schrijfactie succesvol is).
Volgens mij ging daar de hele discussie dus ook over hoe dat het beste aan te pakkenquote:Op dinsdag 31 juli 2007 18:52 schreef Scorpie het volgende:
[..]
Misschien, maar om nou voor elke toetsaanslag een call te doen is ook overkill mijns inzien.
Hebben we het eigenlijk nog over hetzelfde![]()
Met als voorbeeld de proof of concept, die om de seconde kijkt of er een toets gedrukt is, en zo ja, de data submit.quote:Op dinsdag 31 juli 2007 18:54 schreef WyriHaximus het volgende:
[..]
Volgens mij ging daar de hele discussie dus ook over hoe dat het beste aan te pakken.
Moet bekennen dat ik ook wel ietsjes sneller typquote:Op dinsdag 31 juli 2007 19:07 schreef WyriHaximus het volgende:
rofl hoe snel denkje dat sommige hier kunnen typen? Best wel ff heel wat sneller dat 10 per seconde. Dan is misschien 50 op ze minst een beter idee
.
1 2 3 4 5 | { if (timerSet()) clearTimer(); setTimer(saveChanges, 1000); } |
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |