- Honor 200 Pro - mobilportré
- Fotók, videók mobillal
- iPhone topik
- 45 wattos vezeték nélküli töltés jön az új iPhone-ba
- VoLTE/VoWiFi
- Bemutatkozott a Poco X7 és X7 Pro
- Milyen okostelefont vegyek?
- Xiaomi 14T Pro - teljes a család?
- Honor Magic6 Pro - kör közepén számok
- Android alkalmazások - szoftver kibeszélő topik
-
Mobilarena
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
-
disy68
aktív tag
válasz
Lokids #10261 üzenetére
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})
-
disy68
aktív tag
válasz
lanszelot #10093 üzenetére
"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?"Ez egy kicsit összetettebb dolog. Leginkább az arrow function (lambda/anonym function) és a klasszikus function expression különbségei a lényegesek itt.
Ennél jobban nem hiszem, hogy össze tudnám foglalni: https://stackoverflow.com/a/34361380
-
disy68
aktív tag
válasz
lanszelot #10090 üzenetére
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
-
disy68
aktív tag
válasz
hiperFizikus #10071 üzenetére
újabb időpocsékolás és digitális szemét ez is
van már pár saját témád, nem fakadna senki se sírva, ha ezeket csak oda pakolnád be a továbbiakban
-
disy68
aktív tag
válasz
Panhard #10011 üzenetére
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
-
disy68
aktív tag
válasz
Panhard #9999 üzenetére
node alatt lehet https://www.npmjs.com/package/serialport
-
disy68
aktív tag
válasz
hiperFizikus #9955 üzenetére
a kérdés arra vonatkozott, hogy mi értelme egy custom függvénynek - pláne a beépített típusokhoz hozzáadva prototype-on keresztül, ami izomnagy antipattern (ahogy Salamander is említi) -, aminek nulla hozzáadott értéke van bárki számára
-
disy68
aktív tag
válasz
hiperFizikus #9934 üzenetére
"Lehet, de mit tehetnék ?"
ahelyett, hogy megpróbálnád feltalálni a spanyol viaszt szarul, inkább tanuld meg a nyelvet és nézz utána az ajánlásoknak és engedd el a saját hülyeségeidet (többen is felhívták rá a figyelmedet többször is, láthatóan hiába, sanszosan ennek is ugyanannyi foganatja lesz)
pl. code styling (különös figyelemmel arra, hogyan nevezel el dolgokat)
ismerd meg az "újabb" feature-öket
illetve ismerd meg hogyan működik a nyelv jobban és pár design pattern-t a tipikus problémák tipikus kezelésére -
disy68
aktív tag
ha már téma volt nemrég a reduce függvény, itt egy példa azzal is
const perChunk = 2 // items per chunk
const inputArray = ['a','b','c','d','e']
const result = inputArray.reduce((resultArray, item, index) => {
const chunkIndex = Math.floor(index/perChunk)
if(!resultArray[chunkIndex]) {
resultArray[chunkIndex] = [] // start a new chunk
}
resultArray[chunkIndex].push(item)
return resultArray
}, []) -
disy68
aktív tag
még ezt nézd meg, mi az az object literal:
const obj = { key: "value" };
-
disy68
aktív tag
A reduce eredménye egy darab érték, itt egy object.
const usersObj = users.reduce((obj, user) => {
obj[user.name] = user.age;
return obj;
}, {}); <- ez a kiindulási értéke: {} // üres object
A reduce végigiterál a users tömbön. Minden iteráció megkapja az előző által módosított értéket (obj) és az adott elemet a listában (user).obj[user.name] = user.age
;
a fenti módosítja az eredmény objectet, ad neki egy property-t, aminek a neve a user.name lesz és az értéke a user.age
0: {}
1: {"John": 34}
2: {"John": 34, "Amy": 20}
etc..
Érdemes lehet még elolvasni a dokumentációt hozzá. -
disy68
aktív tag
válasz
hiperFizikus #9266 üzenetére
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
-
disy68
aktív tag
A pdf-et ebben az esetben nem a js csinálja, hanem valami nyomtatóként beépülő pdf generáló program (böngészőjé, microsoft-os, acrobat, akármi), ami a kapott oldalból csinál neked pdf-et. Ezeknek nem igazán szokott lenni sok beállításuk a méreten kívül. Lehet, hogy van olyan, ami esetleg generál valami alapján könyvjelzőt a végső pdf-be meg a dokumentum nevét is esetleg belerakja, de nem fogadnék rá.
Ehhez sanszosan szükség lesz valami explicit pdf készítő lib-re, akár javascript, akár backend oldalon. Egy gyors keresés, első találat (jsPdf), ránézésre tud sokmindent.
-
disy68
aktív tag
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.
-
disy68
aktív tag
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. -
disy68
aktív tag
Nem ismerem mélyen én se a témát, lehet, hogy a szolgáltatónál van valami hiba/rossz konfig, de az is lehet, hogy csak nálad lokál akadt össze valami és okozta a problémát és az új dns szerver miatt jött helyre a dolog
Amíg ez nem jön elő tömegesen a felhasználóknál, addig nem ölnék bele túl sok energiát, hogy kiderítsem mi és hol csúszott meg.
-
disy68
aktív tag
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.
-
disy68
aktív tag
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
-
disy68
aktív 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).
-
disy68
aktív tag
Ne használd se az alert-et se confirm-ot, mert nem igazán testreszabható (böngészőnként is némileg eltérő) és le is lehet tiltani. Jobban jársz egy bármilyen egyéb megoldással, amit úgy szabsz testre, ahogy szeretnél.
pl. bootstrap modal vagy tingle.js
-
disy68
aktív tag
válasz
Hege1234 #8806 üzenetére
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 :-)
-
disy68
aktív tag
válasz
Hege1234 #8800 üzenetére
"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/
-
disy68
aktív tag
válasz
laracroft #8576 üzenetére
Te most csak a click eseményeket figyeled az inputokon. Ahogy #8578 Silεncε is írja, használd az inputok "input" eseményét a változások figyeléséhez és véletlenül se használj interval-t meg pollozást tökfölöslegesen. Én a magam részéről azt is javaslom, hogy a javascript/html/css-t mindig tarts külön, átláthatóbb, karbantarthatóbb, orrodat is tisztíccsa
én valahogy így csinálnám, minusz a magyar nevek
-
disy68
aktív tag
Kvázi annyi.
#8520
A prefixet a még nem szabványosított feature-ökhöz használják a gyártók, mert azok implementációja még változhat. Amikor kész a szabvány és implementálják a gyártók a szabvány szerint a funkciót, akkor nem szükséges használni a prefixet.A css az utolsónak deklarált szabályt veszi figyelembe, ezért kell először használni a prefixelt és utána a nem prefixelt változatot, így ha ismeri a böngésző a nem prefixelt verziót, akkor azt fogja figyelembe venni. A caniuse.com-on jól össze vannak szedve, hogy milyen funkciók vannak támogatva mely böngészőknél, illetve kell-e prefix vagy sem.
-
disy68
aktív tag
-
disy68
aktív tag
válasz
lanszelot #8464 üzenetére
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
-
disy68
aktív tag
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);
};
})); -
disy68
aktív tag
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).
-
disy68
aktív tag
válasz
lanszelot #8119 üzenetére
"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." -
disy68
aktív tag
É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 minta -
disy68
aktív tag
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
-
disy68
aktív tag
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
-
disy68
aktív tag
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)
-
-
disy68
aktív tag
válasz
hiperFizikus #7667 üzenetére
"Garantálom, hogy megéri neked is és a többieknek is ."
Eddig semmi olyat nem mutattál, ami garancia lenne bármire is.
"A portálom csak ZIP-elve engedi feltölteni a programokat-scripteket ."
Elhangzott a GitHub és GitHub Pages, de tessék: JsFiddle, CodePen. Keres, olvas, értelmez, használ."Azt, hogy nem munka értem; már mint, hogy nem szép ."
Nem, nem érted. Valami javascript alapú dolgot akarsz mutatni, aminél megvan az a kiváló lehetőség, hogy az ajánlott oldalakat használva ezt megoszd, erre képes vagy egy linket bedobni valami hosszászólásról, amiben van egy link egy zip-hez. Ez bizony egy szakmai fórumon nem egy értékelhető dolog. Ha nem tudod hogyan is kéne megoldani a problémát, akkor kérj segítséget.
Én itt el is engedtem a dolgot... -
disy68
aktív tag
válasz
hiperFizikus #7664 üzenetére
Ha tán elérhető lenne online.. Töltöget zip-eket a nyavaja
-
disy68
aktív tag
válasz
Nagyzoli27 #7589 üzenetére
Azért, mert a querySelectorAll egy NodeList object-et ad vissza.
Nézd meg a leírást ezzel miket lehet csinálni, vannak példák hozzá. -
disy68
aktív tag
válasz
K1nG HuNp #7337 üzenetére
ja, van. egészen pontosan "magas transzcendentális gondolatok" vannak mögötte
-
disy68
aktív tag
válasz
Panhard #6482 üzenetére
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
-
disy68
aktív tag
válasz
Panhard #6480 üzenetére
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
-
disy68
aktív tag
-
-
disy68
aktív tag
válasz
Keeperv85 #6315 üzenetére
Ü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;
} -
disy68
aktív tag
válasz
Panhard #6302 üzenetére
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
} -
disy68
aktív tag
válasz
Panhard #6300 üzenetére
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/, "");
} -
disy68
aktív tag
válasz
Hunmugli #6290 üzenetére
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.
-
disy68
aktív tag
A probléma valóban a :hover körül van. Akkor fordul elő ilyen, ha a :hover esemény hatására valamit megjelenítünk/eltüntetünk lehet ez egy háttér is (sima színváltoztatásnál nincs gond). Az általad használt template is sanszosan használ ilyet. Itt olvashatsz megoldásokat.
Új hozzászólás Aktív témák
Hirdetés
- Honor 200 Pro - mobilportré
- Milyen belső merevlemezt vegyek?
- Audi, Cupra, Seat, Skoda, Volkswagen topik
- Intel Core i3 / i5 / i7 / i9 10xxx "Comet Lake" és i3 / i5 / i7 / i9 11xxx "Rocket Lake" (LGA1200)
- Kerékpárosok, bringások ide!
- Motorolaj, hajtóműolaj, hűtőfolyadék, adalékok és szűrők topikja
- Fotók, videók mobillal
- Le Mans Ultimate
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- Xbox Series X|S
- További aktív témák...
- BESZÁMÍTÁS! MSI B450M R7 5700X 16GB DDR4 512GB SSD RTX 3060 12GB Rampage SHIVA Chieftec 600W
- BESZÁMÍTÁS! 4TB Toshiba P300 SATA HDD meghajtó garanciával hibátlan működéssel
- MacBook felvásárlás!! Macbook, Macbook Air, Macbook Pro
- Álmodozol egy erősebb gamer élményről? Kamatmentes rèszletre is!
- AKCIÓ! Lenovo Thinkpad T14 Gen 3 üzleti notebook - i5 1245U 16GB RAM 512GB SSD Intel Iris XeW11
Állásajánlatok
Cég: Promenade Publishing House Kft.
Város: Budapest
Cég: PC Trade Systems Kft.
Város: Szeged