- Direct One (műholdas és online TV)
- AI-gyártású celebpornóval küzd a Facebook
- Milyen routert?
- Tarr Kft. kábeltv, internet, telefon
- DIGI kábel TV
- Telekom otthoni szolgáltatások (TV, internet, telefon)
- C# programozás
- Vodafone otthoni szolgáltatások (TV, internet, telefon)
- Kodi és kiegészítői magyar nyelvű online tartalmakhoz (Linux, Windows)
- ASUS routerek
Új hozzászólás Aktív témák
-
Sk8erPeter
nagyúr
válasz spammer #2151 üzenetére
Nem hogy nem probléma, hogy külön fájlban történik a feldolgozás, hanem így jobb (jó).
A success callback-be mondjuk nem ártana egy ellenőrzés, mert attól még, mert a szerver 200 OK-t dobott vissza az AJAX-kommunikáció során, az még önmagában nem azt jelenti, hogy valóban helyesen megtörtént a - példa szerinti - kommentár elmentése.Sk8erPeter
-
Sk8erPeter
nagyúr
válasz spammer #2153 üzenetére
Hát én ezt a topicban már sokszor fejtegettem, hogy sokkal többet ér a szerverről beszédes információkat visszaküldeni, pl. státuszkódokat arról, hogy minden oké volt-e, stb. Ez mondjuk hatványozottan igaz adatbázisba való feltöltésnél. Egyszerű tartalom-megjelenítésnél is számíthat, mert lehet, hogy 200 OK HTML-kódot kapsz vissza a szervertől, de valami gebasz mégis volt, és azt nem ártana, ha ki tudnád deríteni mondjuk egy beszédes hibakódból/üzenetből, hogy mi is történt. Így felhasználóbarát hibaüzeneteket is ki tudsz írni, mert tudod, hogy milyen esetet hogyan kezelj.
Ettől függetlenül működőképes természetesen, amit használsz, ezt csak a jövőre mondom, hogy szükséged lehet rá, érdemes ráállni arra, hogy JSON-ben küldöd vissza az adatokat a szervertől, státuszkóddal együtt, hogy helyén tudd kezelni."Ja meg ott a form method után volt egy onsubmit="return false", ez is kell bele, ha a jquery kód végén már ott van a return false; ?"
Nem. Feleslegesen teszi bele a válaszadó. Mivel úgy csak az onsubmittal inline kódot is belepasszíroz, miközben pont a submit eseményt kezeli le jQuery-vel, ergo felesleges oda is beírni, hogy return false;. Szóval a kérdés-felvetésed jó volt!Sk8erPeter
-
Sk8erPeter
nagyúr
válasz spammer #2156 üzenetére
Nincs mit, amúgy azóta az általad belinkelt hsz.-t szerkesztettem, hogy kicsit egyértelműbb legyen, hogy az a return false-os onsubmit attribútumba elhelyezett megoldás CSAK akkor kell, ha használod a Form plugint, ami amúgy sem javasolt (kihangsúlyoztam azt a részt, hogy "If you insist on using jQuery Form Plugin", hozzátettem a "- which is NOT recommended -" megjegyzést, meg egy vonallal elválasztottam a korábbi kódrészlettől), szóval gondolom így már egyértelműbb az ott szereplő válasz, ami amúgy helyes volt.
[ Szerkesztve ]
Sk8erPeter
-
Sk8erPeter
nagyúr
válasz spammer #2159 üzenetére
"url: 'search.php' -t hiába írtam be a beforeSend fölé. Nem nagyon beszélek jquery-ül "
Nem csoda, hogy hiába írtad be ezt, mivel ez csak azt adja meg, hogy hova történik a request elküldése. Nem ártana dokumentációt is olvasni, hátha előbb választ kapsz a kérdéseidre, mint a fórum használatával...window.location.href vagy window.location.pathname felhasználásával pl. egy iffel tudnád szűrni, hogy hol legyen alkalmazva ez a kód, vagy épp hol ne.
Nyomj egy F12-t, kattints a Console fülre, és próbáld ki, mit ad, ha ezt beírod, aztán nyomsz egy Entert.Sk8erPeter
-
Sk8erPeter
nagyúr
válasz spammer #2161 üzenetére
Nincs mit.
Hát igen, ha meg akarod határozni a működését valaminek, akkor általában a programozásnál kell írni valamit a kódba."de a doksiban nem is ajánlják ezt [link], ezért is gondoltam, hogy hátha van jobb megoldás."
A doksiolvasásnál arra gondoltam előbb, hogy itt pl. le van írva, mire való az url paraméter, szóval onnan könnyen megtudható lett volna >> http://api.jquery.com/jQuery.ajax/
url
Type: String
A string containing the URL to which the request is sent.Sk8erPeter
-
Sk8erPeter
nagyúr
válasz spammer #2163 üzenetére
Hát akkor totál félreérted az egész AJAX-kommunikációs folyamatot, amit jQuery-vel egyszerűbbé teszel. Teljesen mindegy, hogy épp melyik oldalt böngészed, kérést attól még a szerver felé akármilyen címre küldhetsz, aztán arra a szerver valamilyen módon válaszol.
Példával élve böngészheted az aloldal/kiskutya.aspx-et (most szándékosan nem PHP-s kiterjesztést írtam, hogy ne ragadjunk le ennyire ennél az egynél, erre mindjárt kitérek), de küldhetsz attól még AJAX-szal egy kérést a blabla/nagykutya.aspx címre."de ha más php-t hív le (filter.php)"
Ezek a megfogalmazások elvi hibásak. A kliens-szerver architektúrában a kliensed szempontjából totálisan irreleváns, hogy a szerver PHP-, Java- vagy ASP.NET-alapú (vagy más), a kliensed csak küld egy kérést valamelyik szerver felé, az adott szerver pedig azt kiszolgálja, mégpedig úgy, hogy küld egy bizonyos választ - hogy ezt a háttérben hogyan teszi (mondjuk ASP.NET van a háttérben, vagy PHP-kódokkal bűvészkednek), az teljesen mindegy.
Tehát nem "hív le" semmilyen "php-t" (ennek így értelme sincs túl sok), hanem kérést küld egy adott címre, amire a szerver majd valahogy válaszol, és ennyi. Attól még, mert az URL-ben az szerepel, hogy example.com/ez_egy_nagyon_erdekes_oldal.php, attól még nem is biztos, hogy fizikailag létezik az "ez_egy_nagyon_erdekes_oldal.php" fájl a szerveren, a gyökérben, sőt, lehet, hogy ASP.NET-szerver szolgálja ki az egészet, és egy sor PHP-kód sincs a tárhelyen, és akkor nagyon megvicceltek.
Mindezt csak azért írtam le, mert sokszor találkozni a fórumokban ilyen pontatlan megfogalmazásokkal ("más php-t hív le"), ami a kliens-szerver architektúra meg nem értésére utal (legalábbis hiányosságokra).[ Szerkesztve ]
Sk8erPeter
-
fordfairlane
veterán
-
Sk8erPeter
nagyúr
válasz spammer #2256 üzenetére
Hát akkor lehet, hogy ez azért van, mert egy szar.
Nézd meg a Superfish plugint, jól működik kikapcsolt JavaScript mellett is:
http://users.tpg.com.au/j_birch/plugins/superfish/#examplesSk8erPeter
-
martonx
veterán
válasz spammer #2346 üzenetére
Ha jól értem te simán kettő darab dátumot szeretnél összehasonlítani, és ha az egyik kisebb, mint a másik, akkor alert-ezni.
Nem mondod komolyan, hogy ezt itt most megkérdezted? Ráadásul ennek miköze a jquery-hez?if (date1 < date2) {
alert("Date1 kisebb, mint date2");
}Ezt akartad megkérdezni?
A jsfiddle példádban pedig olyan jó lett volna látni, legalább egy minimális próbálkozást a probléma megoldására.
Én kérek elnézést!
-
Sk8erPeter
nagyúr
válasz spammer #2346 üzenetére
Sosem használtam még, de ott van egy egyértelmű doksi, az alapján nem volt túl nehéz kisajtolni a megoldást (lényegében copy-paste-eltem az eredeti oldalról, csak picit átalakítottam, meg egyértelművé tettem, hogy nem másodpercekben, hanem milliszekundumokban kell nézni a timestampet, csak hogy ne ez legyen a köv. kérdés ):
===
(#2347) martonx, (#2348) fordfairlane :
lehet, hogy én értelmeztem rosszul, de sztem az elsődleges problémája az volt, hogy hogyan lehet egyáltalán kinyerni magát a timestampet a dátumválasztóból.Sk8erPeter
-
Sk8erPeter
nagyúr
válasz spammer #2369 üzenetére
$('#loadmoreForm').submit(function () {
$.post($("#loadmoreForm").attr("action"),
$("#loadmoreForm").serialize(), function (html) {
$("#moreposts").hide().html(html).fadeIn();
});
return false;
});És most számold össze, hány aláhúzás van.
Összesen 3. Tehát 3 felesleges metódushívás. Egyrészt zaj a kódban, másrészt felesleges overhead.
Képletes példával élve gondolj bele, hogy mondjuk nincs otthon kalapácsod, mégis van 3 szöged, amit be kell verned. Át kell menned a szomszédhoz, hogy kölcsönkérd a kalapácsot, tételezzük fel, hogy minden egyes átmenésedkor készséggel ad is neked egy kalapácsot minden morgás nélkül. OK, beütöd az első szöget, elégedetten nyugtázod, milyen ügyes voltál, aztán visszaviszed a kalapácsot a szomszédnak. Ja, hoppá, van még kettő szög. Átmész a szomszédhoz, elkéred a kalapácsot, beütöd a következő szöget, megcsodálod, hogy sikerült beverni, és visszaviszed, megköszönöd szépen. Ja, de van még egy harmadik szöged is, azt is be kéne verni, na, akkor megint átmész, és kölcsönkéred a kalapácsot, bevered, visszaviszed.
Nem egyszerűbb egyszer elkérni azt a nyomorult kalapácsot, és magadnál tartani, amíg be nem vered mind a három szöget vele?A példa lehet, hogy nem a legjobb, de talán érzékletes - a 3 külön átmenés melós, fárasztod magad feleslegesen, meg még egy csomó pluszidő is elmegy vele: ez az overhead.
Általános programozási elv, hogy érdemes elkerülni az overheadet ott, ahol lehet (nyilván értelmes keretek közt, lásd pl. a szóban forgó esetet, ahol nagyon könnyen elkerülhető).
Ennek fényében átalakítva a kódodat:// itt a kalapács!
var $loadMoreForm = $('#loadmoreForm');
var $morePosts = $("#moreposts");$loadMoreForm.submit(function () {
$.post($loadMoreForm.attr("action"),
$loadMoreForm.serialize(), function (html) {
$morePosts.hide().html(html).fadeIn();
});
return false;
});A hibád okát pedig könnyen kiderítheted abból, hogy megnézed, mi megy el szerveroldalra, és mi az onnan kapott válasz.
Nyisd meg a böngésző fejlesztőpanelét (F12, vagy Operában Ctrl+Shift+I), és a Network (Chrome, Opera Dragonfly, khmm, IE10) vagy Net (Firebug) fülre kattints; itt tudod követni a kliens és szerver közti kommunikációt, kérést, választ, headereket, státuszkódokat, stb.(#2371):
"Próbáltam úgy, hogy hozzáadok egy ilyet:
$('<div>').appendTo('#moreposts').html(html);"
Ezzel pont szépen felülírod a korábbi tartalmat.Átalakítva:
$('#moreposts').append('<div>').append(html);de az ilyen rendkívül fantáziadús "html" és hasonló neveket kerüld el, egyrészt mert egyáltalán nem informatív (mondjuk egy serverResponseInHtml vagy hasonló már informatívabb lenne), ráadásul így kavarodást okoz a kódra ránézve, mivel a .html() egy metódus neve is...
Sokszor elmondom, de most is: inkább legyen hosszú egy változónév/függvénynév/metódusnév/..., mint hogy nulla információt közöljön az olvasóval. Nézd meg a Java, C# metódusait, sokszor jó rohadt hosszú nevük van, hiszen így kifejezi, mire is való az az adott metódus, és így már maga a kód is olvastatja magát, úgy, hogy még egy sor kommentárt nem írtál hozzá.[ Szerkesztve ]
Sk8erPeter
-
Sk8erPeter
nagyúr
válasz spammer #2377 üzenetére
Hát akkor ha ilyet látsz stackoverflow-n, akkor azt szerkeszd valami értelmes kódra. De a lényeg, hogy a szar változónevek használatát kerüld, az teljesen lényegtelen, hogy valaki hülyeséget prezentált, attól még neked nem kell azt követni...
Ráadásul az ilyen minimalizált változóneveket kicserélni mindenhol két kattintás.(#2376) martonx :
Igen, pontosan ezért nem értem, mégis mi a francért rövidítgetik emberek a kódjaikat. SEMMI nem szól emellett (lespórolt vele 2 percet összességében, hagyjuk már, később ránéz, aztán elb@sz 15, 30 vagy épp 123124987324 percet azzal, hogy rájöjjön, mit is csinál az a nyomorék változó/függvény/metódus), főleg nem az átláthatóság.Sk8erPeter
-
trisztan94
őstag
válasz spammer #2493 üzenetére
Én inkább költségmegtakarítónak hívnám
A cég aminél dolgozom 5.000 e-mail címet vesz ha jól tudom ~500.000 Ft-ért (ez nem biztos, vagy ennyi vagy 50k) önreklámra.
Na most én mint aranyos alkalmazott felajánlottam, hogy csinálok full ingyen egy olyan programot ami az (most inkább meg nem nevezett oldalról) beszkenneli az adatokat majd lementi egy fájlba, amit aztán a szintén általam készített e-mail küldő rendszerbe feltölt és igény szerint ki is küld minden címzettnek egy reklámot.És cserébe "csak" annyit kérek, hogy 5.000 e-mail-enként annak az 5.000 e-mail árának a 10%-t adják oda nekem.
[ Szerkesztve ]
https://heureka-kreativ.hu
-
Sk8erPeter
nagyúr
válasz spammer #2938 üzenetére
Pl. Chrome extensionnél meghatározhatod, mikor kerüljön injektálásra a JS-fájl, lásd a run_at részt:
https://developer.chrome.com/extensions/content_scripts"In the case of "document_start", the files are injected after any files from css, but before any other DOM is constructed or any other script is run.
In the case of "document_end", the files are injected immediately after the DOM is complete, but before subresources like images and frames have loaded.
In the case of "document_idle", the browser chooses a time to inject scripts between "document_end" and immediately after the window.onload event fires. The exact moment of injection depends on how complex the document is and how long it is taking to load, and is optimized for page load speed.
Note: With "document_idle", content scripts may not necessarily receive the window.onload event, because they may run after it has already fired. In most cases, listening for the onload event is unnecessary for content scripts running at "document_idle" because they are guaranteed to run after the DOM is complete. If your script definitely needs to run after window.onload, you can check if onload has already fired by using the document.readyState property."
De neked a css lesz az érdekes, beszúrhatsz saját CSS-t, így pl. adott elemre vonatkozó display:none-t:
css:
Optional. The list of CSS files to be injected into matching pages. These are injected in the order they appear in this array, before any DOM is constructed or displayed for the page.Sk8erPeter
-
martonx
veterán
válasz spammer #2940 üzenetére
Picit sem érzem jquery-s problémának, amit írtál, inkább szimpla programozástechnikai probléma. Üdv a programozók világában
Szerintem eleve nem így egy menetben kellene a 4 sort beszúrnod, és akkor jóval több kontrollod lehetne a felett, hogy mikor mit hogy szúrsz be.Én kérek elnézést!
-
Sk8erPeter
nagyúr
válasz spammer #2940 üzenetére
Mivel újból és újból felülírod a textarea tartalmát, ezért a kiválasztáshoz szükséges is, hogy újból lefusson a selectTextareaLine() függvény. De miért zavar az téged?
Most akkor melyiket szeretnéd, hogy ténylegesen az összes tartalomból a 4. sor legyen kiválasztva, vagy mindig az újabb beszúrt szöveg 4. sora?
Sk8erPeter
-
Jim-Y
veterán
válasz spammer #2943 üzenetére
Szerintem ezt viszonylag egyszerű megoldani, mindkét esetet:
Az eventlisteneren kívül csinálsz egy ilyet:
sessionStorage.setItem("clickCount",0);
Majd a click-en belül:
// normálisabb parszolást csinálj, én munkában nem foglalkoztam többet vele ^^
var clickCount = 0+sessionStorage.getItem("clickCount");
sessionStorage.setItem("clickCount", ++clickCount);
majd
selectTextareaLine(tarea,4*(0+sessionStorage.getItem("clickCount"))); // selecting line4*countKipróbáltam, de a selectTextArea fv-t át kéne írnod, mert nem működik jól, majd meglátod
-
Sk8erPeter
nagyúr
válasz spammer #2943 üzenetére
"(A lefutás megakadályozásához meg gondolom számolni kellene a klikkeket, mármint, hogy első volt-e vagy nem, de ilyennel meg aztán tényleg felesleges lenne pöcsölni.)"
Nem erről beszéltem. Azt megoldani, hogy ne fusson le még egyszer a kiválasztásért felelős függvény, a létező legegyszerűbb probléma. De onnantól kezdve, hogy a következő menetben felülírod a tartalmát a textarea-nak, NEM lesz kiválasztva az általad kívánt sor, mivel elvesztetted a felülírással az előző kijelölést! Vágod? Itt van egy szemléltető példa, egyszerűen bevezettem egy isFirstInsertion változót, és na bumm, nem fut le többször, de aztán nem is működik: http://jsfiddle.net/56HNA/1/
Szóval ennek a beillesztések utáni újból és újból történő lefutását nem fogod tudni megúszni, de nem is kell!"A jobb megoldás a mindig beszúrt rész 4. sora lenne persze, ha nem kell tökölni vele sokat, mert egyáltalán nem életbevágó dolog, inkább csak úgy kíváncsiság, hogy ebből megoldható-e relatíve egyszerűen. "
Megoldható Ennyiből:
http://jsfiddle.net/56HNA/2/Sk8erPeter
-
Sk8erPeter
nagyúr
válasz spammer #2946 üzenetére
Nincs mit!
Na várjál, itt mindegyik megoldásban egyelőre a "line4->selected" sor teljesen be van drótozva, bármit változik a szöveg, természetesen az indexek "elromlanak", ezt csak szövegkereséssel lehet megkerülni! Igazából nem tudom, mi a végcélod.
Az viszont semmiképp sem jó megközelítés, hogy csak elsőre fusson le a szövegkiválasztós módszer, mert akkor a többi beillesztésnél nem lesz kijelölve semmi."Viszont ez után már nem működik a gomb, tehát a blablabla után nem szúrja be újra a sorokat."
Na most őszintén szólva nem fogtam fel ezt a példát, ezt körül tudnád írni picit jobban, mi nem működik?(#2944) Jim-Y:
Én itt erre a feladatra kicsit overkillnek érzem a sessionStorage használatát.[ Szerkesztve ]
Sk8erPeter
-
Sk8erPeter
nagyúr
válasz spammer #2950 üzenetére
Mindez azért van, mert korábban szar kódot mutattam. Őszintén szólva csak összecsaptam a korábbit. Ezenkívül az .append() metódust használtam, mert hirtelen nem ugrott be, hogy ez textarea esetén nem jó, mert szerkesztés után nem fogja hozzáfűzni az értéket:
http://stackoverflow.com/questions/4722914/jquery-append-not-appending-to-textarea-after-text-edited/4723017#4723017Na, egy szó, mint száz, javítottam Csekkold plíz, hogy ez így jó-e (nem teszteltem agyon, ezt is gyorsan pötyögtem össze, de kicsit jobban odafigyelve, első próbálgatások alapján működik, meg beleraktam minimális hibaellenőrzést):
http://jsfiddle.net/56HNA/4/Még azt javítani kellene, hogy ne legyen keveredés plain JS és jQuery közt, mert az nem olyan szép, de ehhez most nem nagyon volt kedvem.
Ja, még annyi, hogy a numberOfLineToSelectFromTextToInsert jelöli azt a számú sort, amelyiket ki kellene jelölni a beillesztendő szövegből (a hosszú változónévből kiderül), tehát még ez is be van drótozva ilyen módon, hogy épp hanyadik sort kell kijelölni, de ezt ennek alapján már könnyű átdolgozni úgy, hogy akár szöveges alapú keresést végezz, hogy milyen stringet keresel - és azt a sort jelölje ki, amelyikben az a string megtalálható. Ha esetleg ilyenre lenne szükséged még pluszban.
Kérdezz, ha valami nem tiszta a kódból.[ Szerkesztve ]
Sk8erPeter
Új hozzászólás Aktív témák
- Milyen TV-t vegyek?
- Direct One (műholdas és online TV)
- Politika
- Magisk
- Külföldi rendelések: boltok, fizetés, postázás
- T Phone 2 5G - kétszer olyan jó
- antikomcsi: Való Világ: A piszkos 12 - VV12 - Való Világ 12
- Renault, Dacia topik
- Computex 2024: feltárta a Lunar Lake-et az Intel
- Fűnyíró topik
- További aktív témák...
Állásajánlatok
Cég: Ozeki Kft.
Város: Debrecen