- Szaporodik és sokasodik a One UI 8.5
- Apple iPhone 17e – mágnesek ereje
- Huawei Watch Fit 5 Pro - jó forma
- iPhone topik
- Samsung Galaxy A36 5G - a középső testvér
- Xiaomi 15T Pro - a téma nincs lezárva
- Samsung Galaxy S23 és S23+ - ami belül van, az számít igazán
- Poco F8 Ultra – forrónaci
- Android Auto és Carplay utólag? A Carpodgo Mini kicsi és olcsóbb, mint a nagyok
- Feltalálta a Google a keresőmotort
-
Fórumok
Mobilarena - mobil fórumok
Okostelefonok Mobiltelefonok Okosórák Autó+mobil Üzlet és Szolgáltatások Mobilalkalmazások Tartozékok, egyebek Mobilarena blogokPROHARDVER! - hardver fórumok
Notebookok TV & Audió Digitális fényképezés Alaplapok, chipsetek, memóriák Processzorok, tuning Hűtés, házak, tápok, modding Videokártyák Monitorok Adattárolás Multimédia, életmód, 3D nyomtatás Tabletek, E-bookok Nyomtatók, szkennerek PC, mini PC, barebone, szerver Beviteli eszközök Egyéb hardverek PROHARDVER! BlogokIT café - infotech fórumok
Infotech Hálózat, szolgáltatók OS, alkalmazások SzoftverfejlesztésGAMEPOD - játék fórumok
PC játékok Konzol játékok MobiljátékokLOGOUT - lépj ki, lépj be!
LOGOUT reakciók Monologoszféra FototrendFÁRADT GŐZ - közösségi tér szinte bármiről
Tudomány, oktatás Sport, életmód, utazás, egészség Kultúra, művészet, média Gazdaság, jog Technika, hobbi, otthon Társadalom, közélet Egyéb Lokál PROHARDVER! interaktív
-
Frissítve: 2014-02-25 10:20 Téma összefoglaló
JavaScript != Java (A JavaScript nem összekeverendő a Javával, két különböző programozási nyelvről van szó!)
Új hozzászólás Aktív témák
-
Lokids
addikt
ha jól értem a results egy tömb és te annak az elemeit szeretnéd átalakítani, szóval végig kell rajta iterálnod előbb
pl.
[{FieldValuesAsText: {Title: 'title', Program: 'program', OtherField: 'not needed'}}]ha szeretnél maradni a jelenlegi formánál, akkor valami ilyesmi kéne legyen:
const res = results.map(x => Object.fromEntries(
Object.entries(x.FieldValuesAsText).filter(([key, value]) => key === "Title" || key === "Program"));vagy egyszerűbben:
const res = results.map(x => {title: x.FieldValuesAsText.Title, program: x.FieldValuesAsText.Program})Igen erre volt szükségem. Köszi.
-
lanszelot
addikt
A var, let, const változók deklarálásához használhatók. A scope pedig ezek elérhetőségét takarja a kódon belül.
Itt olvashatsz róluk bővebben: https://www.freecodecamp.org/news/var-let-and-const-whats-the-difference/
az egész url csekkolós dologhoz meg annyit, hogy böngészőből csak többé-kevésbé fogsz normális válaszokat kapni CORS miatt, a legtöbb szerver nem fogja kiszolgálni a kérést, ha az más domainről jön
erről bővebben itt: https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS
Először is nagyon szépen köszönöm a választ.
A változókat tudom.
Azt nem tudom miért rakta a functionokat stb egy fix változóba.
Az micsoda? Mire jó? Hogy használom azt a változót?Amikor "a" tag ba berakod az url-t és nem működik, bongészőbe illesztve meg megnyitja, azzal van bajom. Azért kell ellenőrizni.
Ugyanarról az oldalról 99% link működik 1% nem.
Biztos hogy én hibázom, csak rá kellene jönnöm hol.Nekem ez csak hobbi. Tanulgatás miatt csinálok honlapokat, amiknek semmi értelme. De így találkozók dolgokkal ami megoldàsa tanulást eredményez... remélem

Van egy listám arról amit nem értek, és talán így, ha használom.
Ezért készítek bugyuta honlapokat
-
Bzozoo
tag
-
Panhard
tag
a böngésző javascript api-ján keresztül a korábban linkelt (#10007Rat.Sand) api (Web Serial API), ami esetleg használható, ez egy experimental feature chromium alapú böngészőkhöz
itt egy minta hozzá: https://github.com/svendahlstrand/web-serial-api/tree/master
Igen, nézem, próbálom...
-
Panhard
tag
-
hiperFizikus
senior tag
A kezdetekben ráragadtam az alert() használatára, és még 1x se próbáltam a console.log -ot .
Én nem avval foglalkozok, hogy a kódom maximális legyen, hanem avval, hogy hamar meglegyen és működjön, és minél hamarább a hátam mögött tudjam az egészet .
-
Lokids
addikt
-
hiperFizikus
senior tag
tragédia ez a komment egy szakmai topikban komolyan
de legyen, feltételezzük, hogy csak tréfálkozol, akkor itt van egy kis ötletcsomag a "programnyelvedhez": https://www.youtube.com/watch?v=vcFBwt1nu2U
Elolvastam a linked első 2 percét és remek a linked, igazi különlegesség .
Sajnálom, hogy "tragédia ..." , de JS-en szeretném leprogramozni, és veled mint szakival nem fogok ellenkezni .
A linked kb. 1 órás, akkor most bele fogok merülni a linked tanulmányozásába, addig béként hagylak titeket, de be-be nézek azért az oldalatokra, hogy ki mit írt bele .
-
Taci
addikt
Nekem is hasonló megoldás jutott eszembe, mint sztanozsnak. Alapból elrejted a generált tartalmat, a betöltendő js-ben jön a függvény, ami betölti az új content-et, amit ellenőrzöl, hogy létezik-e, ha nem akkor megjeleníted a generált tartalmat, ha igen, akkor meghívod a betöltött js-ből az új content letöltést, ami a végén meg is jeleníti a betöltött tartalamat.
Ha a generált html-ben a képeket se akarod betölteni, amíg nem muszáj, akkor generáld úgy őket, hogy az src-t berakod data attribútumba amit akkor állítasz be, amikor nem töltött be js fájl.
Köszönöm (sztanozs, neked is), a példakódot is (jó a fejcsere
) .
Viszont a tartalom elrejtését már az elején kizártam, mert a Google nem mindig egyértelműen áll hozzá (rendben van, látja, indexeli - vagy épp SEO-manipulálásnak tartja, és ejnyebejnye). És az egész átalakításom lényege pont az, hogy a G felé rendben legyen az oldal.Talán megpróbálom úgy, hogy üres lesz a div, és ha a (tartalomgeneráláshoz) szükséges JS-ek közül nem töltődött be bármelyik is, akkor behúzza oda az előre generált tartalmi részt. Máskülönben pedig üresen hagyja, és engedi, hogy a JS végezze a dolgát.
Nagy vonalakban:
https://jsfiddle.net/1dgyfs2v/
(disy68, a példakódodban van pár rész, amit így is fel tudok használni, köszönöm.)Bár jobban szeretném, ha nem csak utólag, szkripttel rakna bele tartalmat - hisz' az egész kálváriám abból indult eleve. Na de ezt már kisakkozom valahogy, most már elég lehetőségem van. Köszönöm a segítséget.
-
Mr. Y
őstag
Miért van szükség, hogy mindegyiknek legyen id-ja?
A kérdésed alapján az a gyanúm, hogy valami loop-ban keresel getElementById-val ahelyett, hogy pl. kapna minden elem egy azonos class-t és lekérnéd az összeset egyszerre egyquerySelectorAll('.közösclass')-al és fel sem merülne ez az egész.Időzítés végett. Minden elem alapvetően el van rejtve és minden elemen belül található egy dátum. Ami dátum már elmúlt, az ahhoz tartozó elem megjelenik. Annó JSON bevetésével oldottam ezt meg, de jelen projektben ez nem használható.
-
Taci
addikt
edit: állítsd át a dns kiszolgálód címét pl. 1.1.1.1-re vagy 8.8.8.8-ra esetleg (gépen/routeren) ha így jobb, akkor net szolgáltatód dns feloldása lassú (lassúságot nem, de olyat tapasztaltam szolgáltatói dns szervernél, hogy nem tudott feloldani valamit)
Nézd meg dev-tools (F12) network fülön, hogy pontosan meddig tartanak az egyes kérések vagy logold ki az összesnél, mikor indul és mikor jön válasz. Szerintem nem az "első" hívás tart sokáig, hanem az összes. Ellövöd a kéréseket egymás után és azok visszatérnek lassan, amiből azt látod, hogy az első lassú volt és ahhoz képest a többi meg gyors, mert async mennek a kérések. Persze így nulla kód mellett csak találgatni lehet.
Köszönöm a tanácsot.
Átállítottam 1.1.1.1-re, és egy bő 10 percig próbáltam előhozni a lassulást, de nem sikerült.
Viszont azt nem értem, hogy miért kellett az újabb DNS lookup?
Mármint böngészek az oldalon egy ideje, így a DNS lookup a szerveremre nyilván már az eleje óta megvolt, másképp be se töltött volna.
Aztán böngészek-böngészek, és egyszer csak belassul (előző screenshot), és írja, hogy megint volt egy lookup.
Nagyon felületesek az ismereteim a témában, de nem úgy van, hogy X időre cacheli, hogy ez a domain ez az ip cím? És amíg él a cache, addig nem kérdezi újra.
Most vagy ilyen rövidre van állítva a cache (kinél? szolgáltatónál?), vagy valami máshol mással van a baj?(Kérlek, javíts ki bármiben, amit rosszul tudok. Persze csak amennyire időd engedi.
)Köszi.
@martonx: De az akkor nem DNS Lookup-ként jelentkezne, hanem a kliens és szerver közötti kommunikácóban, a php által visszaadot értékekben. Erre látom is a számokat (F12 - Network alatt) a megfelelő axios-os hívásnál, de mind jó érték. (Persze ettől még belassulhat a szerver, de ez amit elkaptam és ennyiszer sikerült megismételni pont nem ez volt - legalábbis így látom, de simán tévedhetek, nagyon új ez még nekem.)
-
laracroft
senior tag
-
Lokids
addikt
milyen grafikon ez? mutass valami példát, hogyan szeretnéd használni
ha egy object-et átadsz valaminek, ami pl. string-et vár és aszerint akarja kiírni, akkor az object.toString() lesz meghívva, ami az '[object Object]' stringet adja alapértelmezetten
Itt található chart az alap:
https://js.devexpress.com/Documentation/ApiReference/UI_Components/dxChart/?search=chart
-
vz12
tag
A linkelt fiddleben a formra nyomsz click-et és nem a dropdown-ra, de ez a megoldás nem is fog működni és más korábban működő lehetőség sem az alap html select kinyitására (a régebben még működő technikák már nem támogatottak a böngészők által).
Vannak workaround lehetőségek, amik közül a legegyszerűbb és szebb megoldás használni egy custom dropdown-t, de lehet megoldás a dropdown size változtatás is pl (a linken az egyik hozzászólásban van minta erre).
Nekem összejött egy megoldás a "size" változtatással: [link]
Ez a megoldás akkor jó, ha a "select" darabszáma nem túl sok (vagyis elfér a képernyőn), mert a scrollozás le van tiltva.
Ha sok elem van, akkor egyrészt a "size" értékét korlátozni kell, másrészt a scrollozást "auto"-ra kell állítani.
A "form"-ot én "div"-re cseréltem.Igen, kicsit régies, de játéknak jó volt.

-
Mr. Y
őstag
A linkelt fiddleben a formra nyomsz click-et és nem a dropdown-ra, de ez a megoldás nem is fog működni és más korábban működő lehetőség sem az alap html select kinyitására (a régebben még működő technikák már nem támogatottak a böngészők által).
Vannak workaround lehetőségek, amik közül a legegyszerűbb és szebb megoldás használni egy custom dropdown-t, de lehet megoldás a dropdown size változtatás is pl (a linken az egyik hozzászólásban van minta erre).
Köszönöm az információt
-
Mr. Y
őstag
-
Hege1234
addikt
Szerintem innen ki tudsz indulni: https://www.google.com/advanced_search
pl: arra keresel, hogy 'index' - kiadja az index.hu-t
ha arra keresel, hogy 'index site:index.hu' - akkor csak az index.hu-n belül keres
de ha úgy keresel, hogy 'index -site:index.hu' - akkor nem lesz benne a találatokban az index.hunekem mondjuk ez az egész több macerának hangzik, mint amennyit ér, pláne ha még valóban valami js-es szütykölést is szeretnél regex-el az egészhez, de persze te tudod :-)
köszi ez nem rossz
elbohóckodok majd vele
megértelek
viszont én elég sokat keresgélek a neten nekem emiatt megéri a macerátegyébként ez az Accept-Language és az ip-location megoldás is annyira hasznos lenne, ha nem használták volna ki az auto fordítás trükkre de hát ez ilyen, elég magas labda...
-
Hege1234
addikt
"mi lehetne erre a megoldás, hogy csak az legyen tiltva ami az autó fordításért felel?"
Leginkább az, hogy kikapcsolod a chrome-ban az auto fordítást: http://assessmenttestingsupport.bbsupport.happyfox.com/kb/article/1552-disabling-google-chrome-automatic-translation-feature/
-
Mr. Y
őstag
-
Taci
addikt
Kiindulónak itt van ez. Találsz ott generátort is. Nem vagyok a téma nagy ismerője, de neked a sima cookie consent is elég lehet, nem kell külön gdpr rész.
Köszönöm, átnézem mindenképp. Belekezdtem már akkor, csak sok dolog közbejött.
Lenne egy másik kérdésem is:
Tegyük fel, hogy van egy oldalam, aminek van 2 menüpontja. Telik-múlik az idő, a felhasználók használják az oldalt. Aztán úgy látom jónak, hogy azt a 2 menüpontot 5-re bővítem.
Hogyan lehet azt megoldani, hogy a frissített oldalszerkezet eljusson a felhasználókhoz?
Mert sima újratöltésnél ugye csak cache-ből dolgozik, így gondolom, ha "nem muszáj", nem fogja megnézni, van-e újabb source verzió. Így amíg nem tölti le a frissített fájlokat az új menüpontokkal, addig én hiába csináltam meg az 5 menüpontot, a felhasználó csak 2-t fog látni.Hogyan szoktátok, hogyan lehet ezt kezelni? Mi a bevált módszer erre? Van esetleg egy változó, hogy bizonyos időközönként ellenőrizze, van-e újabb source verzió? De ez így nem lenne teljesen jó, mert ha megcsinálom egyik nap, szeretném, ha másnap már használnák az új fájlokat. Szóval olyan opció kellene (ha van, ha lehetséges), hogy ha módosítok, akkor a következő töltésnél már az új változatot szedje le a kliens.
Köszönöm.
-
coco2
őstag
A csúsztatásnál annyi a skill, hogy simán kipozícionálom nem létező területre?
-
Silεncε
őstag
Nem mindegy lokálban sem, hogy a böngésző által megnyitott resource protokollja http(s):// vagy file://
Egyébként ez pl. node.js-el nagyon egyszerűen orvosolható.
Telepíteni kell a node.js-t.
Aztán feltelepíted npm-el a http-server-t:npm install http-server -g
majd a mappában, ahol vannak a fájlok elindítod:http-serverés localhost alatt a 8080-as porton eléred http-n keresztül
Korábban írta már, hogy nem érdekli a node...
-
nevemfel
senior tag
PHP-ban sem lesz idézőjeles az érték, ha az numerikus érték.
echo json_encode(["valtozo" => 30]);eredménye
{"valtozo":30}A kulcsok lesznek mindig idézőjeles stringek JSON-ban.
-
Taci
addikt
Igen, köszönöm szépen, pont így sikerült megoldanom, csak közben lejárt a szerkesztési időm.

Köszönöm szépen ismét a gyors segítséget!

-
Taci
addikt
Amikor lekéred az új adatot, amivel bővíted az oldalt, akkor megjeleníted a spinnert. Amikor betöltött az adat, akkor berakod a DOM-ba, ahova annak kerülnie kell.
Miután ez megvan, akkor ahova került az új tartalom, megnézed a tartalomban van-e új img, ezeket kigyűjtöd.
Itt lehet akár két lehetőség is
- Megszámolod mennyi van, majd feliratkozol a képek load és error eseményeire és amikor bármelyik bekövetkezik, akkor kivonsz egyet a számlálóból, ha elérted a nullát, akkor elrejted a spinnert.- Vagy a képeket beburkolod egy-egy Promise-ba a resolve/reject a kép load és error eseményeire következik be. Bevárod az összes Promise-t és elrejted a spinnert.
ha van egy images nevű tömböd, a képekkel, abból így lesz egy promise lista:const imagePromises = images.map(image =>
new Promise((resolve, reject) => {
image.onload = () => {
console.debug('image loaded', image);
resolve(image);
};
image.onerror = () => {
console.error('image not loaded', image);
reject(image);
};
}));Köszönöm az ötletet és a részletes választ!

-
Taci
addikt
Nem az "axios-szal volt gond", hanem a böngésző nem fogja kiértékelni a script tag-ekben lévő kódot, amit innerHTML-ként megadsz biztonsági okokból. Egyes libek persze csinálnak olyat, hogy ezekre hívnak még egy eval-t, ami nem feltétlen jó.
Egyébként nincs sok szükséged a teljes js-re, amit a getcode ad, elég a 'https://weatherwidget.io/js/widget.min.js'-t behúznod az oldaladra és betölteni a getcode által adott linket (<a ... /a>) ugyanis az a kód is pont ugyanezt csinálja csak dinamikusan (létrehoz egy script tag-et megadja az src-t, beállít egy id-t neki és hozzáadja a dom-hoz).
Egyszerűen nem értem, hogyan (nem) működik ez a szkript. (https://weatherwidget.io/js/widget.min.js)
Már csak a widget miatt az ezt tartalmazó HTML részt kiszerveztem külön, mert utólag nem tudtam működésre bírni, hogy betöltsön (ezt segítettél megérteni múltkor). A HTML részt betöltötte (ami igazából csak a link az időjárási adatokra a város nevével, de az utána következő grafikus részt, amiért a JS felel, azt már nem. Csak akkor töltötte be, ha az ezt tartalmazó HTML részt az aktuális városadatokkal együtt generáltatom, és ezt töltöm be.
Ugye ezt is írtad: "a böngésző nem fogja kiértékelni a script tag-ekben lévő kódot, amit innerHTML-ként megadsz biztonsági okokból." Ez világos.
Viszont direkt ezért ezt a HTML "panelt" egy külön JS generálja és tölti be, működik szépen. Most viszont néha újra be kell tölteni, és hiába adom ismét hozzá a frissen generált HTML "panelt", így már nem működik. Pedig pontosan ugyanazt a JS függvényt hívom meg. Pontosan ugyanazt. Elsőre működik, másodikra nem. Az elsőt az oldal betöltések hívja meg, az lekér pár adatot adatbázisból, aztán beadja a widgetnek, és betölti. Működik.
De aztán pont ugyanezt a függvényt hívom meg, csak más adatokat kap, de a JS ugyanaz, csak más paraméterekkel dolgozik, és így már nem fut le a widget JS része.Miért nem? Hogyan lehet ezt megoldani? Biztosan kell rá megoldásnak lennie.
Pl. itt van a widget készítőjének weboldala: https://weatherwidget.io/
Ott akárhányszor megadok egy városnevet, mindig újra és újra generálja a modult. Nem tölti be külön a HTML részt, nem tölti újra az oldalt, mégis, milliószor is betölti, lefut, kirajzolja, működik szépen.
Ezt hogyan kell elérni? Hogyan lehet a weboldal egy adott részén lévő JS-et újra és újra lefuttatni más és más adatokkal? Utólag nem lehet hozzáadni és futtatni, de ha már ott van, hogyan lehet új adatokkal újra és újra futtatni, kiértékeltetni?Remélem, érthetően írtam le, nagyon lefárasztott már, egyszerűen nem értem.
Tuti alap dolog kell hogy legyen, hisz' az ő weboldalukon is gond nélkül működik.
Átírom én a kódomat bármilyenre, csak működjön.Lekérem az aktuális koordinátákat, adatbázisból lehívom hozzá a városnevet, ahhoz megvan a forecast7 link, és meg is van minden a widget új adatokkal való betöltéséhez.
<a class="weatherwidget-io" href="https://forecast7.com/en/40d71n74d01/new-york/" data-label_1="NEW YORK" data-label_2="WEATHER" data-theme="original" >NEW YORK WEATHER</a>
<script>
!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0];if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src='https://weatherwidget.io/js/widget.min.js';fjs.parentNode.insertBefore(js,fjs);}}(document,'script','weatherwidget-io-js');
</script>A vastagon szedett és aláhúzott elemeket kell csak cserélnem.
Hogyan lehet ezt a friss adatokkal újra és újra betölteni, úgy, ahogy pl. az ő weboldalukon is működik?
Köszönöm előre is!
-
Taci
addikt
Nem az "axios-szal volt gond", hanem a böngésző nem fogja kiértékelni a script tag-ekben lévő kódot, amit innerHTML-ként megadsz biztonsági okokból. Egyes libek persze csinálnak olyat, hogy ezekre hívnak még egy eval-t, ami nem feltétlen jó.
Egyébként nincs sok szükséged a teljes js-re, amit a getcode ad, elég a 'https://weatherwidget.io/js/widget.min.js'-t behúznod az oldaladra és betölteni a getcode által adott linket (<a ... /a>) ugyanis az a kód is pont ugyanezt csinálja csak dinamikusan (létrehoz egy script tag-et megadja az src-t, beállít egy id-t neki és hozzáadja a dom-hoz).
Köszönöm szépen a választ és a magyarázatot! Ennek mindenképp utánanézek!

-
lanszelot
addikt
"nem úgy olvasom ki"
Az, hogy te hogy olvasod ki az tökmindegy, a lényeges, hogy javascript futtatókörnyezet hogyan értelmezi. Ez egy function, aminek van egy bemenő paramétere, aminek megvan a maga szintaxisa, amivel látszólag nem vagy tisztában.function half(value) {return value/2;}Ez egy function, ami vár egy bemenő paramétert, amit eloszt kettővel és ennek az eredményével tér vissza. Ezt a következő formában lehet meghívni:
half(8)
> 4Az általad lőtt képen ez van kiegészítve egy console.log() függvényhívással meg egy extra változóval, ami át lesz adva függvénynek.
Szóval én nem tudom mi az amit tanulásra használsz, de lehet érdemesebb lenne itt kezdeni.
"If you see something which looks like a variable name, but it's followed by parentheses—
()—it is likely a function. Functions often take arguments: bits of data they need to do their job. Arguments go inside the parentheses, separated by commas if there is more than one argument."Miért baj az, hogy nem értem, és kérdezek?
Addig kell kérdeznem , míg meg nem értem, különben mi értelme?Én kértem segítséget tanulás téren, de senki se válaszolt. #8101
Tanulok, amit gondoltam. Nem várhatok, hátha majd valaki. Elkezdtem amit találtam.
Az amit ajánlottál nekem nem jó. #8101 legutolsó mondat -
cattus
addikt
Érdekes megközelítés ez a functional programming jellegű dolog, nekem kevésbé szimpatikus, mintha az adott class/object-nek lennének a függvényei, mert így nincs convienient kódkiegészítés hozzá és vagy megtanulom mit kell importolgatni vagy a doksit kell gyakrabban forgatni. A modularizáltsága az lehet plusz, de kétlem, hogy egy dátumkezelő lib méretén múlna bármi.
(#8006) togvau
Bármit behúzhatsz jsfiddle-be. Moment.js mintaHát szerintem előbb-utóbb úgyis doksit kell nézegetni, az autocomplete csak egy ideig könnyíti meg az ember dolgát. Én a date-fns-t azért is szeretem, mert moduláris (kisebb bundle size), jól lehet egymásba ágyazni a függvényeket, illetve natív JS dátum osztállyal dolgozik, míg a moment mindig csinál egy saját wrappert.
-
btz
addikt
Továbbra is az a gond, hogy nem a korábban ajánlott irányba mész. Az include html-es függvényednek adjad át callback-ként, amit akarsz csinálni miután betöltött az ajax kérés. Ez teljesen mindegy, hogy egy eseménykezelő megadása vagy valami extra html hozzáadása valamihez. codesandbox
Igazából nem az én kódomhoz lesz ez és nem is ez az eredeti éles kód. Amit ide kiraktam kódot az csak tesztelés céljából van. Akiknek kell a megoldás, azok szakvámban a w3school.com scriptjét használják, ezért úgy voltam vele, hogy ahol csak lehet, "nem bántom az alapkódot" elvet követem. Közben jött pár megoldás, amivel megkaptam amire vágytam, nem kellett pluszban átírni a w3scool scriptet, mindenki happy volt, amíg fel nem merült az igény, hogy az oldal betöltésekor is ez az amaz jelenjen meg az includeolt oldalrészen is, eközben ez a megoldás ki is ment a fejemből, de most forkoltam a kódod, így biztos helyen van
Sajnos nem lesz megúszva a w3 kód átalakítás 
Köszi a segítséget
-
btz
addikt
A te példádban az a legfőbb gond, hogy az ajax hívás aszinkron (XMLHttpRequest) és amikor hivatkoznál a testclick id-jú elemre, az még nincs benne a dom-ban. Az után tudsz csak rá hivatkozni, hogy az ajax kérés lefutott.
Erre az egyik lehetőség egy callback lehet, ami akkor lesz meghívva, amikor a content már bekerült a dom-ba.
Hogy legyen más is mint a korábbi minta, a lekérést átírtam fetch api-ra, meg kiszedtem a fölösleget, hogy átláthatóbb legyen: link
Erre az aszinkron dologra még rá kell keressek.
"Erre az egyik lehetőség" Milyen lehetőségek vannak még? Mindegyik érdekel. Tudsz ajánlani valami olvasmányt a témában?
Remek megoldás. Köszönöm a segítséget neked is. 🙂 👍
-
venic
csendes tag
-
venic
csendes tag
A checkbox típusú input mező checked attribútuma alapján tudod, hogy be van-e pipálva vagy sem. Ha az input mező értéke alapján szeretnél dolgozni, akkor legyen a mezőnek értéke (value).
FiddleNagyon köszi a választ.
Fentebb alratar kódja igy néz ki:const extra = parseInt(document.querySelector("input[name='extra']:checked").value);const souce = parseInt(document.querySelector("select[name='souce']").value);(Az enyém is hasonló különben)
És itt a radio gombnál (extra változónál) úgy utalunk rá, hogy ...:checked...
És a szósznál ugyanígy próbáltam, de nem működött:const souce = parseInt(document.querySelector("select[name='souce']:checked").value);Itt akkor másképp kell?
value-nál én egy számot adtam meg, mivel számolni szeretnék vele később. -
btz
addikt
Az indított interval azonosítóját tárolod a változóban, legyen elérhető onnan, ahonnan használni szeretnéd, ez már jó. Viszont amikor újra hívod a startot, akkor a korábbi interval még futni fog, ameddig le nem lövöd. Magyarul azzal kell kezdeni, hogy hívsz egy clearInterval-t akorábbi interval azonosítójával mielőtt újat indítasz. A gomb elrejtés/mutatás teljesen jó irány az egész mellé. Mintafiddle (szétszedtem a html/js-t, egyéb kulcsszavak: arrow function/lambda function, const/let, addEventListener)
Köszönöm a segítségeteket. Így már tökéletes a működés.

Egy kicsit átvariáltam, hogy a start() ne legyen alapértelmezett
https://codepen.io/bzozoo/pen/YzyLLZv -
cattus
addikt
Más, nem szkripnyelvekben a const általában fordítás idejú konstanst jelöl, tehát utána a belső állapota sem változhat meg (pl. objectek esetében) az első értékadás után. Ugyanezt JS-ben az
Object.freeze()tudja elérni. -
hiperFizikus
senior tag
A portálom csak ZIP-elve engedi feltölteni a programokat-scripteket . Nem értek a PHP-hez, így önnálóan nem tudok portált csinálni . Egyébkét csak pár kattintás, és meg tudod nyitni a ZIP-et is . Garantálom, hogy megéri neked is és a többieknek is . Ne légy már annyia finyás .
-
Panhard
tag
Utánaolvasok ennek a GC-nek, állítólag lehet vele manuálisan is töröltetni változókat. Azt már látom, hogy a JS HEAP mérete nől folyamatosan.
-
Panhard
tag
PHP oldalon ne html-t gyárts, hanem egy tömböt az adatokkal. Ha szeretnél class-t vagy akármit állítani a soroknak, celláknak, akkor bővíted az adatokat és belerakod a generált json-be.
Pl. ezt kapod vissza:
[{
one: "one1",
two: "two1"
}, {
one: "one2",
two: "two2"
}]És ezt javascripttel feldolgozod és beszúrod a megfelelő helyre.
Csináltam egy mintát hozzá. A fejlécet is elküldheted egy külön tömb-ként (ezt nem raktam bele).
Pl. fejléccel:
{
header: [
"One",
"Two"
],
data: [{
one: "one1",
two: "two1"
}, {
one: "one2",
two: "two2"
}]
}szerk: persze, ahogy martonx írja vannak kész megoldások is, amit használhatsz
Sikerült megoldanom ez a leírás alapján: [link]
Szépen betölti adatbázisból az adatokat, a html táblázatba. Időtartomány kiválasztás is működik a a html oldalon két dátumbeviteli mezővel.
Köszönöm a segítséget mindenkinek. Még lehet, hogy kérdezni fogok.
-
Panhard
tag
Az elképzelésed több sebből is vérzik. A php feldolgozónak akkor adja feldolgozásra a webszerver a fájlt, ha olyan kiterjesztésű, ami be van állítva neki. Ez alapból a .php kiterjesztés.
Javascript fájlokat nem fog ezért feldolgozni. Persze be lehet állítani a szerveren, hogy ez ne így legyen vagy szimplán php kiterjesztést adsz a javascript fáljaidnak is, de ez elég kókány megoldás lenne.
A query paraméteres include sem fog menni, az átadott paramétereket nem fogja látni az include-olt fájlban lévő kód. Viszont ha előtte deklarálsz egy sima változót, azt az include-olt fájlban ugyanúgy eléred.
Pl:
alap fájl:<?php
$something = "something";
include 'othersomething.php';othersomething.php fájl:
<?php
echo $something;Ki fogja írni, hogy something.
szerk: érdemes lenne kicsit olvasgatni a témában, hogy hogyan működik egy http kérés, azt hogyan kezeli a webszerver, javascript felől pedig mi az az AJAX, akkor jobban tudod majd tervezni a folyamatot
Értem. Utána fogok olvasni.
Így már csináltam lekérést, csak itt adatokat kértem le, integer számokat jsonban. De ennél a megoldásnál a php-ben is van egy json encode, ami az adatokat json formátumúra alakítja.$.getJSON("data.php?idx1=".$parameter1."$idx2=".$parameter2, function(data) {
document.getElementsByClassName("aaaa")[0].textContent = data.egy;
document.getElementsByClassName("aaaa")[1].textContent = data.ketto;
document.getElementsByClassName("aaaa")[2].textContent = data.harom;
});De most egy komplett táblázatot kellene, ami a php kimenete. Gondolom ezt nem szerencsés json formátumúra alakítani, mert a html oldal nem fogja megjeleníteni helyesen.
-
Janaboy
veterán
Köszi, sajnos nem sikerült úgy működésre birni, ahogy én gondoltam.
Nekem lényegében egy inditó ikon kellene, ami adott méretben megnyitna egy webolda.t
Sajnos ez azért kellene, mert két monitors rendszerben nem lehet fullscreenre tenni böngészőt, csak max egy megadott méretet lehet használni.
-
Janaboy
veterán
Néztem, aha, közben megtaláltam amit korábban..
Igy néz ki:
var navOpenInBackgroundTab = 0x1000;
var oIE = new ActiveXObject("InternetExplorer.Application")
oIE.Navigate2("http://google.com");
oIE.Visible = true;
oIE.left = 0;
oIE.top = 0;
oIE.height = 700;
oIE.width = 400;Ez igy optimális? vagy van ettől jobb?

-
Janaboy
veterán
Köszi, sajnos most keresem a félkész scriptet de nem találom

Se a weboldalt ahonnan szedtem
Esetleg kaphatnék segítséget egy teljes scriptre?
-
Keeperv85
nagyúr
Üdv, egy regex-es lehetőség:
A String.prototype.replace(regex, replacerFunction)-t használva elég egyszerű lesz a dolog. A regexet megírod úgy, hogy lesz 3 capture group (url eleje a számig, szám, többi). A replacerFunction-ben pedig növeled a számot és összefűzöd a 3 részt az növelt számmal.
regex:
/^(http[s]?:\/\/[^\/]+\/[^\/]+\/[^\/]+\/)(\d+)(\/.*)/replacerFunction:
var increasePart = function (match, firstPart, numberAsString, lastPart) {
var increasedNumber = parseInt(numberAsString) + 1;
return firstPart + increasedNumber + lastPart;
}Köszi, megpróbálom összedolgozni a kettőt, ha kicsit békén hagynak az egyéb (munkahelyi...
) feladatokkal és megírom sikerült-e! 
-
Hunmugli
aktív tag
A document.write()-ot NE használd. A leírásból a kiemelt rész: Note: as document.write writes to the document stream, calling document.write on a closed (loaded) document automatically calls document.open, which will clear the document. A konzol az nem a képernyő (dokumentum). Erre a consol.log()-al tudsz irogatni. A jsfiddle-t használd ahogy illik, html bal fent, js bal lent. Formázásnál segít a fiddle a Tidy gombbal. Kommentet ritka esetekben használunk, legyen inkább a kód olvasható (függvények, változók nevei legyenek beszédesek). És ami szerintem még fontos, ne használj magyar neveket a kódban, rossz szokás.
Igazad volt

Már értem miért nem jó a document.write()
De aconsole.log()-os megoldás sem az igazi - nem sok olyan honlapot látni, ahol a konzolt kell nézegetni
Amíg nem tudok jobbat, a fenti megoldást fogom használni. Az html tageket is tud értelmezni

-
CSorBA
őstag
Ennél a megoldásnál téged nem érdekel pontosan mennyi mezője van a data objektumnak. Végigmész az összesen, ellenőrzöd, hogy saját mezője-e, majd a kapott értéket a mező nevéből származó index-szel berakod egy tömbbe.
Egy egyszerű minta: fiddle. Egy kicsit korrektebb: változat.
"Az én megoldásomnál az lehet a hiba, hogy a "data.d0" objektumot String-ként hozom létre, és azt nem tudja értelmezni?"
Bizony, a legfőbb hiba ez. A másik, hogy nem rugalmas a megoldás, hiszen mi van, ha már nem 90 elemet kell feldolgozni?
Ha errefelé mennél mégis, amit nem ajánlanék, akkor valahogy így módosulna a fenti egyszerű példa.
A lényeg:
var arr = []; // eredmény
for (var i = 0; i <= 90; i++) {
var key = "d" + i;
arr[i] = data[key]; // a data objektum adott d0 .. d90 elemét így tudod megcímezni
}Szerintem ennél a property-s checkolásnál az Object.keys egy array mappel átláthatóbb és egyszerűbb, persze csak ha nem kell IE8:
var result = [];
Object.keys(data).map(function(value, index) {
result[index] = data[value];
});var data = {
d0: "zero",
d1: "one",
d2: "two",
d3: "three"
};esetén:
console.log(result); // Array [ "zero", "one", "two", "three" ] -
Panhard
tag
Ennél a megoldásnál téged nem érdekel pontosan mennyi mezője van a data objektumnak. Végigmész az összesen, ellenőrzöd, hogy saját mezője-e, majd a kapott értéket a mező nevéből származó index-szel berakod egy tömbbe.
Egy egyszerű minta: fiddle. Egy kicsit korrektebb: változat.
"Az én megoldásomnál az lehet a hiba, hogy a "data.d0" objektumot String-ként hozom létre, és azt nem tudja értelmezni?"
Bizony, a legfőbb hiba ez. A másik, hogy nem rugalmas a megoldás, hiszen mi van, ha már nem 90 elemet kell feldolgozni?
Ha errefelé mennél mégis, amit nem ajánlanék, akkor valahogy így módosulna a fenti egyszerű példa.
A lényeg:
var arr = []; // eredmény
for (var i = 0; i <= 90; i++) {
var key = "d" + i;
arr[i] = data[key]; // a data objektum adott d0 .. d90 elemét így tudod megcímezni
}Köszi, ez a minta amit beszúrtál működik.Ezt fogom használni, mert egyszerű. Az elemek száma nem változik magától, csak ha változtatom. De akkor ezt is hamar át tudom írni.
Köszi mégegyszer.
-
Panhard
tag
A data objektum mezőin kell végigmenned és azok értékeit menteni a tömbbe.
for (var property in data) {
if (data.hasOwnProperty(property)) {
// put in array: data[property]
}
}A mentéshez használhatsz egy sima változót, amit közben növelgetsz, ami lesz a tömb indexe, vagy a mező neve alapján kezeled az indexet. Az alábbi kiszed minden szöveget pl:
function getIndex(propertyName) {
return propertyName.replace(/\D/, "");
}Köszi, de nem nagyon értem.
Ennél a megoldásnál is csinálnom kell egy for ciklust, ami 90-szer fut le? Annak a változóját hova kell betennem?
Az én megoldásomnál az lehet a hiba, hogy a "data.d0" objektumot String-ként hozom létre, és azt nem tudja értelmezni?Most vetem észre, hogy az első hozzászólásomban elírtam egy változó nevét. Így a helyes ahogy próbáltam:
for(var i=0; i<91;i++){
var ertek = "";
ertek += "data.d";
ertek += i;
eredmeny[i] = ertek;
} -
Hunmugli
aktív tag
A document.write()-ot NE használd. A leírásból a kiemelt rész: Note: as document.write writes to the document stream, calling document.write on a closed (loaded) document automatically calls document.open, which will clear the document. A konzol az nem a képernyő (dokumentum). Erre a consol.log()-al tudsz irogatni. A jsfiddle-t használd ahogy illik, html bal fent, js bal lent. Formázásnál segít a fiddle a Tidy gombbal. Kommentet ritka esetekben használunk, legyen inkább a kód olvasható (függvények, változók nevei legyenek beszédesek). És ami szerintem még fontos, ne használj magyar neveket a kódban, rossz szokás.
Értem, csak az nem tiszta, hogy fiddleben ha
console.log()-ot használok, az hol jelenik meg? -
tick
aktív tag
Köszönöm mindkettőtöknek. Hozzáteszem akkor az onclick triggert is

Egyébként egy div-es táblázat szűréséről van szó. A gombok megkülönböztetésével nem kell foglalkoznom szerencsére. Nem túl elegáns módon globális változóként tárolom a legutóbb keresett értéket. Ha nem változott az előzőhöz képest, akkor nem csinál semmit. Így nem iterálja feleslegesen végig az egész táblázatot akkor sem ha bal egérgombbal kattintgat rá bárki.Valószínű elég optimalizálatlan, 230 soros táblázatot szűrök vele. Van esetleg valami gyorsabb/hatékonyabb módja ennek mint a display-t változtatgatni soronként iterálva? (electron alkalmazás így minden nodejs-es trükk bevethető)
Új hozzászólás Aktív témák
-
Fórumok
Mobilarena - mobil fórumok
Okostelefonok Mobiltelefonok Okosórák Autó+mobil Üzlet és Szolgáltatások Mobilalkalmazások Tartozékok, egyebek Mobilarena blogokPROHARDVER! - hardver fórumok
Notebookok TV & Audió Digitális fényképezés Alaplapok, chipsetek, memóriák Processzorok, tuning Hűtés, házak, tápok, modding Videokártyák Monitorok Adattárolás Multimédia, életmód, 3D nyomtatás Tabletek, E-bookok Nyomtatók, szkennerek PC, mini PC, barebone, szerver Beviteli eszközök Egyéb hardverek PROHARDVER! BlogokIT café - infotech fórumok
Infotech Hálózat, szolgáltatók OS, alkalmazások SzoftverfejlesztésGAMEPOD - játék fórumok
PC játékok Konzol játékok MobiljátékokLOGOUT - lépj ki, lépj be!
LOGOUT reakciók Monologoszféra FototrendFÁRADT GŐZ - közösségi tér szinte bármiről
Tudomány, oktatás Sport, életmód, utazás, egészség Kultúra, művészet, média Gazdaság, jog Technika, hobbi, otthon Társadalom, közélet Egyéb Lokál PROHARDVER! interaktív
- Autós topik
- Okos otthon - Home Assistant, openHAB és más nyílt rendszerek
- Szaporodik és sokasodik a One UI 8.5
- Samsung Galaxy Felhasználók OFF topicja
- Nyílt világú Középfölde-RPG készül a Warhorse-nál
- BMW topik
- Kertészet, mezőgazdaság topik
- Apple iPhone 17e – mágnesek ereje
- Renault, Dacia topik
- exHWSW - Értünk mindenhez IS
- További aktív témák...
- Kezdő Gamer PC-Számítógép! Csere-Beszámítás! I5 7500 / GTX 1650 / 16GB DDR4 / 128SSD + 500HDD
- Bomba ár! Dell Latitude 3190 - Intel N3350 I 4GB I 64-128SSD I 11,6" HD I HDMI I Cam I W11 I Gari!
- Apple Watch SE 2 44mm Midnight 100% akkumulátor 6 hónap garanciával
- Lenovo ThinkPad dokkolók: USB-C 40A9/ 40AY/ 40AS/ Thunderbolt 3 40AC/ Hybrid USB-C DisplayLink 40AF
- HIBÁTLAN Apple Watch SE 2 Midnight -2 ÉV GARANCIA - MS4906, 100% AKKSI
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest





) feladatokkal és megírom sikerült-e!


