Hirdetés

2024. június 2., vasárnap

Gyorskeresés

Téma összefoglaló

Téma összefoglaló

  • Utoljára frissítve: 2014-02-25 10:20:57

LOGOUT.hu

JavaScript != Java (A JavaScript nem összekeverendő a Javával, két különböző programozási nyelvről van szó!)

Összefoglaló kinyitása ▼

Hozzászólások

(#5801) w.miki válasza Sk8erPeter (#5800) üzenetére


w.miki
veterán

no közben visszatért az oldal, az .eu domain-hez, így megint jó a plugin... :B

de ilyesmi plugin szeretnék még mint ez, ami a weboldalakon található (filmezz.eu, moovie.cc, sorozatbarát) videókat automatikusan lejátssza a tároló oldalak (vidtome, youwatch, flashx.tv, openload stb..) felugró ablakai nélkül

(csak nem tudom, kit lehetne megkérni erre, szívességből, mert én nem tudom megírni ;) )

[ Szerkesztve ]

Olcsó kütyük: http://tiny.cc/fbkutyu

(#5802) CSorBA válasza Sk8erPeter (#5800) üzenetére


CSorBA
őstag

Ez annyira szörnyen néz ki, hogy megnéztem. Ez fog illeszkedni, méghozzá olyan Form-ra, amiben van op, id, fname, hash input, és ezek értékeit szedi ki. Az inputok között lehet más input is. Erre persze .*-ot szokás használni, de végül is ennek megfelelője a [\S\s]*. :U Gondolom aki írta nem értett a regexhez és valahonnan ezt sikerült kiguglizni,

Amúgy [^"]*-ot kellett volna használni a value-kban, a köztes helyeken meg mondjuk .*?-ot.

[ Szerkesztve ]

(#5803) w.miki válasza CSorBA (#5802) üzenetére


w.miki
veterán

Tudnátok jobbat írni, ami .eu, és .tv domain-nel is megy, és a youwatch, openload, és a flashx videokat is lejátssza? :DDD

Olcsó kütyük: http://tiny.cc/fbkutyu

(#5804) TheProb


TheProb
veterán

Sziasztok!

Mi a probléma a következő kódban? [link]
Lényeg, hogy be lehet írni az egyes cellákba bármit, majd a gombra kattintva meg kell adni egy stringet amit szeretnénk megkeresni a cellákban, egzakt. De vmiért az istenért nem lép bele az egymásba ágyazott for-ban lévő if-be...

Debugban megnéztem és az értékeket helyesek és ha összehasonlítom őket akkor jól is adja vissza a logikai értéket.

"Boba is Mickey, Mickey is Boba" - Finkle Einhorn | PC Rig: https://pcpartpicker.com/b/bBy48d

(#5805) CSorBA válasza TheProb (#5804) üzenetére


CSorBA
őstag

Ha debugban megnézted, akkor a konzolt is látnod kellene :U
TypeError: document.getElementById(...) is null

Méghozzá itt: aktCella = document.getElementById(i+j).value;

Egész egyszerűen nincs olyan id-jű elem a kódodban amit le akarsz kérdezni, ezért nincs neki value-je és ezért itt elhasal az egész. Ellenőrizni kellene az elem meglétét, mielőtt value-t kérdezel.

[ Szerkesztve ]

(#5806) TheProb válasza CSorBA (#5805) üzenetére


TheProb
veterán

De hát látod, hogy van. Sőt, ha közvetlen beírod az általad kiemelt sort akkor szépen ki tudom íratni console-ra az értékét.

"Boba is Mickey, Mickey is Boba" - Finkle Einhorn | PC Rig: https://pcpartpicker.com/b/bBy48d

(#5807) CSorBA válasza TheProb (#5806) üzenetére


CSorBA
őstag

Hát gondolkozz kicsit. Az i és j változót tartalmazó ciklus első futásakor 1+1 szerinted mennyi lesz? :)

(#5808) TheProb válasza CSorBA (#5807) üzenetére


TheProb
veterán

valóban, de az tényleg fura, hogy ha console-ba beírtam akkor meg kiírta az eredményt.
No mindegy, köszi.

"Boba is Mickey, Mickey is Boba" - Finkle Einhorn | PC Rig: https://pcpartpicker.com/b/bBy48d

(#5809) trisztan94 válasza TheProb (#5808) üzenetére


trisztan94
őstag

A programozásban nincs olyan, hogy valami egyszer működik, egyszer nem.

https://heureka-kreativ.hu

(#5810) Zedz válasza trisztan94 (#5809) üzenetére


Zedz
addikt

Számtalan példát fel tudok hozni. ;] ;] ;]

(#5811) Sk8erPeter válasza CSorBA (#5802) üzenetére


Sk8erPeter
nagyúr

Hát basszus, most nézem, tök igazad van, én meg tök hülyeségeket beszéltem, elég durván felületesen néztem meg, látszik az aznapi tevékenységemen a 3 óra alvás :DDD. :W
Mondjuk ettől még tényleg ratyi az a regexp. Eleve furcsa, hogy az <input rész beleírásától miért félt következetesen.
Pl. ez illeszkedik arra az undormány regexpre (a form szigorúan nagybetűvel kezdődjön :DDD):
<Form method="POST" action=''><input name="op" value="asdasd" /><input name="id" value="asdasd" /><input name="fname" value="asdasd" /><input name="hash" value="asdasd" />

(#5803) w.miki:
Kódminőségben biztos tudnánk szebbet... ha akarnánk. :D

(#5804) TheProb:
Heh, milyen fura, még a HTML5 előtti időkből benne ragadt a fejemben, hogy az id csakis akkor valid, ha BETŰVEL kezdődik, a számmal kezdődőek nem azok - de most nézem, HTML5-től kezdve már sima szám is lehet id - sőt, igazából minden (ha nem üres), ha valóban egyedi és nem tartalmaz whitespace-t.

(#5809) trisztan94:
"A programozásban nincs olyan, hogy valami egyszer működik, egyszer nem."
Mi? Hát már hogyne lenne? :DDD Olyan szép esetek vannak ilyesmikre, a kedvencem az a fajta hiba, ami debuggolás során nem tapasztalható, csak éles működés során. És erre persze csak elképesztő sok időelkúrás után jössz rá, miután már úgy érzed, hogy végigdebuggoltad az egész világegyetemet, aztán kezdheted vakarni a fejedet, hogy vajon akkor a nem debug módban futás során vajon mi történik, egyszerűen időbeli tényező az oka, vagy netán a többszálú működés alkalmazásodban tapasztalható indeterminizmusa, vagy valami eltérő hardverkörnyezetből előkerülő érdekesség, vagy...vagy...satöbbisatöbbi.

[ Szerkesztve ]

Sk8erPeter

(#5812) trisztan94 válasza Sk8erPeter (#5811) üzenetére


trisztan94
őstag

Átfogalmazom:

Egy jól megírt kódban nincs olyan, hogy egyszer működik, egyszer nem.

console.log("yolo");

Minden egyes esetben ki fogja írni, hogy yolo. Nincs olyan, hogy 10x kiírja, egyszer nem. :D

Nyilván fejlesztés közben vannak bugok, meg furcsaságok.

https://heureka-kreativ.hu

(#5813) dqdb válasza trisztan94 (#5812) üzenetére


dqdb
nagyúr

Az átfogalmazásodból is hiányzik az azonos kiindulási és működési körülmények szöveg.

tAm6DAHNIbRMzSEARWxtZW50ZW0gdmFka5RydIJ6bmkuDQoNClOBc4Ek

(#5814) TheProb


TheProb
veterán

Pure JS-el mennyire nevezhető ez a megoldás kulturáltnak, ha az összes li elem színét akarom változtatni?

var listElements = document.querySelectorAll("li");
for(var i = 0; i < listElements.length; i++){
listElements[i].style.color = "rgb(" + currRed +
", " + currGreen + ", " +currBlue + ")";
}

Van ennél ortodoxabb, szebb megoldás?

"Boba is Mickey, Mickey is Boba" - Finkle Einhorn | PC Rig: https://pcpartpicker.com/b/bBy48d

(#5815) CSorBA válasza TheProb (#5814) üzenetére


CSorBA
őstag

Mi lenne, ha az ul elem színét változtatnád? A li-re öröklődni fog.

(#5816) CSorBA válasza Sk8erPeter (#5811) üzenetére


CSorBA
őstag

Mindenkivel előfordul :K

Szerintem arra számíthatott, h. ott lehet id, class ilyesmi egyéb attribútum is. :U

(#5817) dqdb válasza TheProb (#5814) üzenetére


dqdb
nagyúr

Ha ugyanazt a számolt adatot többször is felhasználod, akkor számold ki előre, tedd el egy változóba és onnan vedd ki az értékét. Én a JS-specifikus részekre nem térnék ki, azt majd megteszik mások.

tAm6DAHNIbRMzSEARWxtZW50ZW0gdmFka5RydIJ6bmkuDQoNClOBc4Ek

(#5818) Sk8erPeter válasza TheProb (#5814) üzenetére


Sk8erPeter
nagyúr

- Ahogy dqdb írta, itt pl. a színt előre el lehetne tárolni egy változóban, és azt a változót felhasználni minden alkalommal, mivel itt a cikluson belül nem változtatod, ergo értelmetlen mindig újból és újból összefűzögetni a stringet (mikrooptimalizáció, de az ilyen overheadek szépen egymásra tudnak rakódni, meg amúgy is igénytelenség nem figyelni a mikrooptimalizációra, ugyanígy nem hívogatunk egy metódust többször egymás után, hanem annak a visszatérési értékét is eltároljuk - már amennyiben persze nem változik a visszaadott érték menetközben).
- Stílust nem szép állítgatni JavaScript-oldalról, erről itt volt szó nemrég: [link] (1. bekezdés vonatkozik ide is). Persze kérdés, mi a cél. Ezt itt nem árultad el nekünk, hogy mit szeretnél csinálni, úgyhogy nehéz eldönteni, hogy ez a megoldás így elfogadható-e - pl. lehet olyan, hogy valami üzleti logika van mögötte, és a számított értéket kénytelen az ember JavaScriptben beállítani.
- Mi a cél azzal, hogy az oldalon az ÖSSZES list itemet beszínezed? Amúgy hallgass CSorBA kollégára, a szülőelemnek (<ul> vagy <ol>) add meg a színt egyszer, és kész - persze kivétel az, ha egy-egy elem színét felül szeretnéd bírálni, vagy explicite van bedrótozva a CSS-fájlba a list itemek színe.

Na, szóval röviden írd le, mi a célod, és csak akkor tudjuk eldönteni, mi lenne rá a jó megoldás. :D

Sk8erPeter

(#5819) TheProb válasza Sk8erPeter (#5818) üzenetére


TheProb
veterán

Egy vasutas vizsgapélda volt 2 éve az egyik tárgyból. Jelen esetben annyit kellett csinálni, hogy a 3 színnek vannak csúszkák 0-255 közötti értékekkel és aszerint kilegózott színre kellett beállítani az összes listaelem színét.

De, hogy konkrét legyek [link]

"Boba is Mickey, Mickey is Boba" - Finkle Einhorn | PC Rig: https://pcpartpicker.com/b/bBy48d

(#5820) Sk8erPeter válasza TheProb (#5819) üzenetére


Sk8erPeter
nagyúr

Gondolom a tanár elvárása volt, hogy feltétlenül a list itemekre hivatkozzatok (<li>), de egyébként igencsak kretén példa, mert itt bőven elég lenne a mainList azonosítóval rendelkező <ul> elemre beállítani a színt, és kész, ettől öröklődne a szín a gyerekelemekre is, nem kéne végigszaladgálni for ciklussal semmilyen listitem-tömbön minden alkalommal. A document.getElementById(...)-hívások eredményét is illik letárolni, amikor újból és újból hivatkozol ugyanarra az elemre, pont ugyanazok miatt, amit az előbb írtam.
Csak gyors átalakítással: https://jsfiddle.net/76218j80/2/
Szerk.: persze ez így egyébként még csúnya megoldás, mert néhány változó globális scope-ban elérhető, de most ilyen szempontokat elegánsan leszartam.

[ Szerkesztve ]

Sk8erPeter

(#5821) TheProb válasza Sk8erPeter (#5820) üzenetére


TheProb
veterán

Ez amúgy így miért jobb?

window.addEventListener("load", function load(event) {
window.removeEventListener("load", load, false); //remove listener, no longer needed
initialize();
}, false);

Nem is láttam még ilyen formában a window.onload-ot

"Boba is Mickey, Mickey is Boba" - Finkle Einhorn | PC Rig: https://pcpartpicker.com/b/bBy48d

(#5822) Sk8erPeter válasza TheProb (#5821) üzenetére


Sk8erPeter
nagyúr

Azért, mert így nem írsz felül semmilyen másik, szintén onloadra bekövetkező eseménykezelőt, olyat, amit pl. akár egy másik fájlban határoztál meg (Te vagy akár egy library), hiszen így HOZZÁADSZ egy eseménykezelőt, mint az a nevében benne is van (addEventListener), nem pedig felülvágod az onloadot egy egyenlőségjellel, hogy az lesz az eseménykezelő, és kész, semmi más.

Vegyünk egy nagyon egyszerű példát:
A HTML-struktúrában ez a két fájl van behúzva:

...
<script src="testjs-1.js"></script>
<script src="testjs-2.js"></script>
...

testjs-1.js tartalma:

window.onload = function() {
alert("asdasd");
}

testjs-2.js tartalma:

window.onload = function() {
alert("blabla");
}

Ha mindkét fájlban meghatározott eseménykezelő fontos lenne, hogy lefusson a load esemény hatására, hát akkor szomorúan fogjuk tapasztalni, hogy bizony ez nem történik meg, csak a "blabla" felirat fog felpattanni, pedig elvártuk volna, hogy előtte az "asdasd" szöveg is vágódjon a pofánkba.

Most ha átírod így:

testjs-1.js tartalma:

window.addEventListener("load", function(event) {
alert("asdasd");
}, false);

testjs-2.js tartalma:

window.addEventListener("load", function(event) {
alert("blabla");
}, false);

Akkor innentől kezdve először felugrik az "asdasd", majd a "blabla" feliratú ablak. Pont ezt vártuk el, mindkét eseménykezelő lefutott.

A window.removeEventListener("load", load, false); sor pedig a jsFiddle-re felrakott példában azt jelenti, hogy eltávolítjuk az eseménykezelőt, hiszen ha már egyszer lekezeltük a betöltődés eseményét, akkor teljesen felesleges, hogy rá legyen aggatva egy eseménykezelő, mivel az esemény már bekövetkezett, nem fog többször bekövetkezni.
Még régebben az MDN oldalán láttam, aztán rászoktam a használatára, elméletileg így kevesebb erőforrást eszik a script. Általában egyébként elvileg elég jelentéktelen lehet az ebből adódó különbség, így egy weboldal esetében igazából nem biztos, hogy érdemes vele foglalkozni, hogy ez a sor szerepeljen egyáltalán a kódban, de egyébként alapvetően nem egészséges, ha feleslegesen sok listenert aggatunk fel ide-oda az alkalmazásunkban, ezért spórolok vele, hiszen minden listener azért kér némi erőforrást - így pl. egy böngésző esetén ha sok-sok bővítmény van telepítve, és mindegyik felaggatja a kis listenerjét, majd ott is marad, akkor az már elméletileg számíthat.

A többi remélem érthető, kérdezz, ha nem tiszta.

[ Szerkesztve ]

Sk8erPeter

(#5823) TheProb válasza Sk8erPeter (#5822) üzenetére


TheProb
veterán

Így oké, az utolsó paraméternek az a false, minek kell és mi cél szolgál?

"Boba is Mickey, Mickey is Boba" - Finkle Einhorn | PC Rig: https://pcpartpicker.com/b/bBy48d

(#5827) Zedz


Zedz
addikt

ReactJS-t (0.14 vagy újabb) űzi valaki mostanában?

(#5828) Zedz válasza Zedz (#5827) üzenetére


Zedz
addikt

Tárgytalan, bocsi. :))

(#5830) Zedz válasza Jim-Y (#5829) üzenetére


Zedz
addikt

Jim-Y, Reactban próbáltál már egy komponenst önmagában renderelni? :))

Mondjuk:

var Comp = React.createClass({

...

renderComp: function () {
...
return ( <Comp /> );

}

});

(#5831) w.miki válasza Sk8erPeter (#5811) üzenetére


w.miki
veterán

nem is akarjátok megpróbálni? :DDD

Olcsó kütyük: http://tiny.cc/fbkutyu

(#5832) martonx válasza w.miki (#5831) üzenetére


martonx
veterán

Nézd ez tipkusan az a feladat, ahol a vélhetően pár perces fix előtt akár órákig lehet beüzemelni a környezetet, dokumentációt olvasni, próbálgatni, hogy mit merre, meddig.
Most magamból indulok ki, de gondolom a többiek se használnak movian-t vagy mi is ez, így gondolom senki se akar hülyeségekre időt fecsérelni, és olyan dolgokat setup-olni, amit ezután sem fog soha az életben használni. Azért mert megjelent az első felhasználója itthon a movian-nak, vagy minek (bevallom arra se vettem a fáradtságot, hogy utána nézzek, hogy mi is ez ;] ), és máris előjött valami hiba valamelyik pluginben, szerintem nem fogja senki rávetni magát a hiba javítására.

Ugyan fingom sincs mi ez, de biztos van más alternatívája, javaslom nézz szét azoknál, vagy tanulj meg együttélni a movian vagy mi, hiányosságaival. Vagy ha ennyire izgat, akkor tanulj bele a javascriptezésbe. A közösség mindhárom tagja az egész világon biztos nagyon boldog lesz, ha kijavítod ezt a plugint.

Én kérek elnézést!

(#5833) w.miki válasza martonx (#5832) üzenetére


w.miki
veterán

Ez egy kiváló media lejátszó, remekül kezeli a streamelt filmeket is. Movian
Ha van egy androidos TV sticked, akkor gyakorlatilag nélkülözhetetlen :B
Nem ismerek hozzá hasonlót.
...talán az XBMC, de ahhoz nincsen ilyen plugin
... de egyébként meg...
teljesen igazad van, egyetértek veled,.
Csak akkor érdemes hozzá plugint fejleszteni, ha más is így beleszeretett ;)

[ Szerkesztve ]

Olcsó kütyük: http://tiny.cc/fbkutyu

(#5834) Speeedfire válasza w.miki (#5833) üzenetére


Speeedfire
nagyúr

Ha lenne olyan eszközöm, amin ez tudna futni, akkor biztos nekiesnék, mert nem lehet rossz. Viszont én asus oplay-t használok már évek óta és szinte minden igényemet kielégíti, így nincs ingerem váltani. :(
Viszont kb 2 perc keresés után erre te is rátaláltál volna. :)
Ő készítette a plugin-t, itt le tudsz neki adni hibajegyet vagy esetleg más fejlesztési igényt. Aztán vagy megcsinálja, vagy nem. Sok sikert. ;)

Fotóim https://fb.com/toth.szabolcs.art || IG: http://instagram.com/_tothszabolcs_ || Weblapom http://szabolcs-toth.com

(#5835) w.miki válasza Speeedfire (#5834) üzenetére


w.miki
veterán

megtaláltam, de lprot nem különösebben foglalkozik a plugin-nel
magyar filmes oldalt, miért figyelne egy orosz... ami szintén érthető...
ez is csoda, ami van...

Olcsó kütyük: http://tiny.cc/fbkutyu

(#5836) martonx válasza w.miki (#5833) üzenetére


martonx
veterán

"Ha van egy androidos TV sticked, akkor gyakorlatilag nélkülözhetetlen" - itt van a kutya elásva. Még csak nem is tervezek android-os tv sticket venni / használni, és szerintem a többség is így van ezzel. De biztos jó a movian, biztos van aki használja.

Én kérek elnézést!

(#5837) pckownz


pckownz
senior tag

Sziasztok, lenne egy Bootstrap kérdésem, ha nem jó helyen járok, térítsetek utamra.

bootstrap.min.js -t használom, legújabb verzió. Szerettem volna egy carous-elt rakni a homepage-re, de sajnos hibát dobát a console önmagára a bootstrap-re.

Uncaught TypeError: Cannot read property 'offsetWidth of undefined
c.slide @bootstrap.min.js:6
c.next @bootstrap.min.js:6
m.isFunction.e @jquery.min.js:2

Bármi ötlet? Sajnos halvány lila gőzöm sincs mitől lehet.
Bootsrap dokumentáció alapján használtam mindent eddig.

[ Szerkesztve ]

(#5838) pckownz válasza pckownz (#5837) üzenetére


pckownz
senior tag

False alarm, typo a div classban :) :R

-mar itt sem vagyok-

(#5839) Speeedfire


Speeedfire
nagyúr

Sziasztok!

Ezt (előzőnek egy fork-ja) használta már valaki? Vagy esetleg másik alternatíváját? Odt-t szeretnék megjeleníteni. Db-ből jön egy blob, aminek a tartalma odt, ezt akarom kirakni. De ahogy nézem a legtöbb az valami converter vagy url lehet a bemeneti paramétere. Mind a kettő jó lenne, url-el mennek is, de blob megoldást nem találok rá.

Fotóim https://fb.com/toth.szabolcs.art || IG: http://instagram.com/_tothszabolcs_ || Weblapom http://szabolcs-toth.com

(#5840) htc07


htc07
addikt

Üdv, kellemes ünnepeket!

Rég foglalkoztam már js-el, tudnátok segíteni, hogy tudnám megoldani azt, hogy ha az oldal tartalmaz egy bizonyos szót, akkor elszínezze a hátteret?

egy autorefresh-es monitorozó weboldalra szeretném tampermonkey pluginnal beállítani ezt, hogy szembetűnőbb legyen, ha esemény van.

Minden segítséget köszönök. :R

(#5841) Sk8erPeter válasza htc07 (#5840) üzenetére


Sk8erPeter
nagyúr

BK! :)

Egy lehetséges megoldás:
https://jsfiddle.net/ud040qh3/

Sk8erPeter

(#5842) pckownz


pckownz
senior tag

Valaki ratudna erre lesni?

https://jsfiddle.net/j3qh58z3/1/

Szeretnem ha a link eltuntetne nekem a lista elemeket, de nem igazan mozgok otthonosan js-ben. :R

(#5843) htc07 válasza Sk8erPeter (#5841) üzenetére


htc07
addikt

Köszi, valamiért nem akar működni, gondolom mert egy agyonszkriptelt oldal. :N

na mindegy, ezen már el tudok indulni. :R

(#5844) dqdb válasza pckownz (#5842) üzenetére


dqdb
nagyúr

jQuery('.item.col-md-4.0').hide();

Kísérletezéskor kapcsold be Ctrl+Shift+J-vel a JS konzolt a böngészőben, hogy lásd a hibaüzeneteket. Így azonnal kibukott volna, hogy nem állítottad be JSFiddle-ben, hogy jQuery-t használnál. Ezt a JavaScript panel jobb felső sarkában a fogaskerékre kattintva tudod megtenni.

tAm6DAHNIbRMzSEARWxtZW50ZW0gdmFka5RydIJ6bmkuDQoNClOBc4Ek

(#5845) pckownz válasza dqdb (#5844) üzenetére


pckownz
senior tag

[link]

Bekapcsolva, de csak
Uncaught ReferenceError: jQuery is not defined

(#5846) PumpkinSeed válasza pckownz (#5845) üzenetére


PumpkinSeed
addikt

Muszáj jQuery-vel megoldani? Itt egy lehetséges, bár nem tökéletes megoldás: [link]

---
Amúgy ebben az jsFiddle-ben hol lehet hozzáadni a lib-eket? Mert a régiben erre volt egy külön rész, de itt sehol nem találtam pl a jQuery hozzáadását.

[ Szerkesztve ]

"Akinek elég bátorsága és türelme van ahhoz, hogy egész életében a sötétségbe nézzen, elsőként fogja meglátni benne a fény felvillanását." - Kán

(#5847) pckownz válasza pckownz (#5845) üzenetére


pckownz
senior tag

jQuery('.item.col-md-4.0')
vs
jQuery('.item col-md-4 0')
:W :R

(#5848) dqdb válasza pckownz (#5845) üzenetére


dqdb
nagyúr

[link]

Ha bekapcsoltad és rányomtál a Run gombra, akkor ez a hibaüzenet eltűnik, már csak a szelektoros hibát kellett kijavítani.

tAm6DAHNIbRMzSEARWxtZW50ZW0gdmFka5RydIJ6bmkuDQoNClOBc4Ek

(#5849) fordfairlane válasza pckownz (#5847) üzenetére


fordfairlane
veterán

css classname lehetőleg ne kezdődjön számjeggyel.

x gon' give it to ya

(#5850) pckownz válasza fordfairlane (#5849) üzenetére


pckownz
senior tag

Mi a gond vele?

Copyright © 2000-2024 PROHARDVER Informatikai Kft.