- Xbox Series X|S
- Rise of the Ronin (PS5)
- Gray Zone Warfare - Máris túl a félmillión
- World of Tanks - MMO
- Android játékok topikja
- Gray Zone Warfare
- Counter-Strike: Global Offensive (CS:GO) / Counter-Strike 2 (CS2)
- EAFC 24
- Végre Steamre tart a Sins of a Solar Empire II
- Elindult a Hades II korai kiadása (PC)
-
GAMEPOD.hu
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
-
martonx
veterán
-
coco2
őstag
Nem cookie-t hoz létre, hanem adat file-t. Korlátos mérete van, szóval csak valami személyi cucc fér bele. 5 megára számíthatsz, többre nem. Adatkezelési tájékoztatót írni róla alkalmasint jogi rémálom, ha oda személyes adatokat pakolnál. Rendesen csúnyán fog kinézni adatbiztonsági kockázatként.
កុំភ្លេចប្រើភាសាអង់គ្លេសក្នុងបរិយាកាសអន្តរជាតិ។
-
coco2
őstag
Class kellene annak a div-nek, és a class-ra írni a css-t, nem az id-ra. Aztán lesz ilyen lehetőség: How can I change an element's class with JavaScript?
កុំភ្លេចប្រើភាសាអង់គ្លេសក្នុងបរិយាកាសអន្តរជាតិ។
-
Taci
addikt
Próbáld meg esetleg így:
<HTML>
<link href="styles1.css" rel="stylesheet" id="themecss">
<div id="kiskacsa">Szöveg</div>
<button onclick="change()">Változz át CSS2-re</button>
</HTML>
És hozzá a JS:
const themecss = document.querySelector("#themecss");
function change() {
if (themecss.getAttribute("href") == "styles1.css") {
themecss.href = "styles2.css";
} else if (themecss.getAttribute("href") == "styles2.css"){
themecss.href = "styles1.css";
}
}
Nyugodtan javítsátok, ha így nem pontos. Meg persze lehetne switch-csel is, szebb is úgy talán. De nagyjából így működnie kellene.
[ Szerkesztve ]
-
-
Taci
addikt
Igen, köszönöm, ez a megoldás egy része lehetne az elejének, hogy minden felhasználó megkapja a kisebb felbontású képet.
Viszont utána a lassú kapcsolaton lévőknél annak nem lenne értelme, hogy még azoknak a képeknek a nagy változatát töltse, amiken már rég túlpörgetett, miközben az újak, amik már szem előtt vannak, már töltődni kellene, de még mindig a korábban már túlpörgetettek nagyobb változatát tölti.
Ezért gondoltam egy szétválasztásnak sebesség szerint.
-
-
sztanozs
veterán
Telepített kliens modul kell hozzá, alapból a JS nem látja az USB eszközöket.
Illetve van Experimental WebUSB, de az eszköznek és a böngészőnek is támogatnia kell: [link], [link][ Szerkesztve ]
JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...
-
coco2
őstag
Még mielőtt nagyon eltévedne a történet, ellenőrző kérdésként had tegyem fel, konkrétan hogyan használnád az usb-s eszközt? Például kliens oldalon usb-s eszközről töltenél fel szerverre? Vagy szerverként használnád, és ahhoz jelentkeznél be? Valami más?
កុំភ្លេចប្រើភាសាអង់គ្លេសក្នុងបរិយាកាសអន្តរជាតិ។
-
dqdb
nagyúr
[link] [link]
Itt van egy WebUSB-t használó oldal, ez bizonyos billentyűzetek konfigurálását (kiosztás, világítás) teszi lehetővé a böngészőből. A támogatott billentyűzetek raw HID protokollon keresztül fogadják a kéréseket és beszélget az oldallal.Nem én írtam, csak azonnal beugrott.
[ Szerkesztve ]
tAm6DAHNIbRMzSEARWxtZW50ZW0gdmFka5RydIJ6bmkuDQoNClOBc4Ek
-
coco2
őstag
Azokkal a kísérleti cuccokkal alaposan meg fog gyűlni a bajod. Remélem, erős idegeid vannak. Akkora design-error az összes olyan cucc, hogy nem a semmiért nem terjednek a gyakorlatban. Ha épp csak begolyózni nem akarsz, ágyúval kell lőni a verebet. Az uart fölé kell egy nt service, amellé egy db szerver, afölé egy webszerver, a webszerverre egy megírt xhr api. És utána tud neked a mikrovezérlős cucc javascript-ben erőforrás lenni.
Az utólagos statisztika azt mondja, hogy 200 emberből - hasonló ötletekkel, mint a tiéd - legalább 199 úgy döntött, inkább leül, és megvárja, míg elmúlik.
កុំភ្លេចប្រើភាសាអង់គ្លេសក្នុងបរិយាកាសអន្តរជាតិ។
-
martonx
veterán
A javascript egy nyelv, ami futhat kb. bármin. Azaz windows-on .exe-ként. Viszont rohadtul nem mindegy, hogy milyen kontextusban fut, milyen API-khoz fér hozzá.
Azaz legtöbb mindenhez akkor fér hozzá, ha win32-n fut (.exe vagy pl. Electron app, Nodejs mint szerver, vagy bármibe csomagolhatod, ami neked megfelel és az OS api-jaihoz hozzáférést ad).
Szintén elég sok mindenhez hozzáfér, de azért már valamivel korlátozottabban, ha Chrome kiegészítőként fut a böngészőben (lásd a linkelt példád).
És szinte semmihez nem fér hozzá, ha tisztán böngészőben egy html oldal részeként fut (kivéve a fentebb linkelt webusb preview api-t).Remélem ezzel rávilágítottam a kontextusok közötti különbségre. És előre is bocsánat, ha a válaszom bármilyen pontatlanságot tartalmaz.
Én kérek elnézést!
-
coco2
őstag
@martonx már leírta előttem, ha a javascript-et .exe-re fordítod, hozzáférsz minden rendszer szolgáltatáshoz, mint bármelyik bináris program.
A linkelt libed chrome book-on fut. Az egy amolyan eeepc koncepció chrome os-el, és szintén a design-error-ok mérföldköve. Asszem egy pamkutya paródiában hallottam "hogy hol is van az alsó határ, engem mindig elámít". Vagy Majka volt? Most nem emlékszem biztosan.
Ami a 20 "munkaórát" illeti, nem biztos, hogy értem. Az ilyesmi nem céges komolyságú, hanem hobby.
Ami a 20 órányi hobby-ra szánt idődet illeti, azt most szépen elereszted. Nem szorongatod. Nem sajnálod. Ha nagyon akarod, integess neki egy piros pöttyös zsebkendővel. Lazán, és könnyedén. És készülj rá, hogy másik 200-at is el fogsz még ereszteni, ha nagyon makacs vagy megérteni, hogy az arduinos webprojectekkel egy sötétben kivilágítatlanul közlekedő pofont sikerült megtalálnod. Ami tech stack-et végül felépítesz majd, azt a tanácsot tapasztalatból adtam. Persze hobbyból nem tilos az utólagos statisztika tapasztalata ellen hadakozni. Kellemes szórakozást hozzá.
កុំភ្លេចប្រើភាសាអង់គ្លេសក្នុងបរិយាកាសអន្តរជាតិ។
-
coco2
őstag
A dolgok természetét kellene megérteni és észben tartani. Minden, ami böngésző weblapon fut, még a file rendszertől is el van tiltva. Külön böngésző libek vannak arra, hogy ilyen 5 megabyte-nyi területet megkaphass automatizálásra, amikor terabyte-os tárhelyek vannak a mai világban. Minden máshoz egyesével felhasználói engedély kell. És akkor te elektronikai erőforrást akartál elérni? Pluginnal meg lehetne éppen csinálni, ha a google nem akarná a chrome os-ét erőszakolni. Így ugyanis még a plugin sem járható út. Keresztbe tesznek azoknak a projecteknek a legkülönfélébb módokon. Azért nincsen belőlük.
Pic-en igazán áttérhetsz C fordítóra, amíg legacy vonalon maradsz. Csak az X fordító borzalmas, de például a c32 még normális volt. A 8 bites pic-ekkel vacakolni szerintem csak extreme low power vonalon van értelme, minden máshoz ott vannak a 32mx-ek. Ha dip foglalatos kell breadboardba, van 32mx1,2 családokból dip foglalatos is. És akkor nem kell órajeleket számolgatni, mert van bőven Drágának sem nagyon mondanám őket, ilyen ezres környékén vannak. A 8 bitesen sem sokkal olcsóbbak, azok is 400-tól kezdődnek, és kb semmire sem jó utólag a kód, amit kiteszteltél. A 32mx-ekkel legalább hordozható és újrafelhasználható kódod lesz. Persze ahogy érzed.
កុំភ្លេចប្រើភាសាអង់គ្លេសក្នុងបរិយាកាសអន្តរជាតិ។
-
nevemfel
senior tag
A Canvas nem a JS része, hanem a böngésző API-jáé, azaz a DOM-é. A JS lényegében mindenhol ugyanaz, az implementált API az, ami futtatókörnyezettől függően más és más. HA asztali alkalmazást akarsz, ami használni tudja a böngésző API-ját, arra ott van az pl. az Electron.
[ Szerkesztve ]
Forget your troubles, c'mon get happy
-
coco2
őstag
Attól függ, milyen stack-et használsz. Amíg bitgépekkel gpio-zól, meg elég egy uart, azzal el lehet szórakozni asm-ben. Nem vagyok én ellene a gyakorlatnak. Ha nagyon az a kedvenced, játszadozz fpga-kkal is. Abban a környezetben aztán lehet bármit órajel élváltásonként számolni. Még hogy asm? Az már egy egész processzor! Azt a kényelmesen dőzsölős mindenségit.. Viszont ha tovább lépsz az uart-ról usb vagy ethernet felé, akkor az asm kispolcra fog kerülni. Asm programok egészében a 4 kb-ot nem szokták átlépni. A 8 kbyte asm-ben már nagyon sok. Usb és ethernet stack önmagukban 30-30 kbyte-ok. Csak egy példa volt.
[ Szerkesztve ]
កុំភ្លេចប្រើភាសាអង់គ្លេសក្នុងបរិយាកាសអន្តរជាតិ។
-
martonx
veterán
Most meg amit összekeversz, az egy winforms alkalmazásban futtatott webview, ami ha jól tudom Internet Explorer alapú. Mintha .Net Core latest winforms-nál már lenne valami webview2, ami már normál latest chromium alapú.
Igaziból a winforms-hoz nagyon nem értek, fogalmam sincs, hogy az ebben futtatott webview mennyire tud kommunikálni az app más részeivel, de vannak kétségeim.Amit te szeretnél arra az Electront, és ehhez hasonlókat szokták használni, amikkel a html+css+js kódodat be tudod csomagolni egy natív appba, azon keresztül elérve az OS apijait.
Én kérek elnézést!
-
Doink
aktív tag
-
cstomee
tag
Nem! Ha jól tudom biztonsági okokból...
Vannak külső pluginek, ahol akár teljesen testreszabhatod.
Pl: sweetalert -
Taci
addikt
Amit belinkeltél, ez egy CSS-ben összerakott "ablak". Viszont az alert() függvény az nem ez.
https://developer.mozilla.org/hu/docs/Web/API/Window/alert
Kipróbálható példával: https://www.w3schools.com/jsref/met_win_alert.aspAttól függ, hol és mire szeretnéd használni. Ha csak egy üzenetet megjeleníteni a weblapodon, ott csak a képzeleted szab határt, hogy milyen ablakot, animációt stb. készítesz.
Ha a beépített alert() függvényt akarod használni, akkor nincs nagy nyújtózkodási felületed, cserében viszont 1 sorban megvan hozzá a kódod. -
coco2
őstag
Az alert()-nek annyi a lényege a hibaüzeneten túl, hogy megállítja a js végrehajtást. Ha arra nincs szükséged, nem az alert()-et kellene használni. Persze Z indexen külön ablakot dobni fel kb 200x lesz bonyolultabb, az alert() meg csak egyetlen sor, de akkor sem kellene elcsábulni. Le kell nyelni a békát és leszkriptelni, amit szeretnél. Bocsi a rossz hírekért
កុំភ្លេចប្រើភាសាអង់គ្លេសក្នុងបរិយាកាសអន្តរជាតិ។
-
lanszelot
addikt
A gondom az hogy halvány fogalmam sincs a back end-ről.
php - python, ez a két név, de semmi. Fogalmam sincs mi a szerver, vagy mire jó, teljes fehér lap, tehát azt se tudom mi a dokumentumrendszer. Hiába olvasok magyarázatokat, az alapok alapja hiányzik. Így nem hiszem hogy menne.[ Szerkesztve ]
-
-
Taci
addikt
Én a mobilos dolgokra egészen egyszerűen ezt használom:
if (screen.width < 600){
}
Aztán persze ezt az értéket (szélesség pixelben) finomhangolhatod magadnak, de én is csak találtam, és nekem tökéletesen működik chrome dev tools-ban a különböző előre beállított képernyőfelbontásokra.
-
nevemfel
senior tag
Én így oldanám meg a mező elrejtését, és az eredeti display visszaállítását, legyen az block vagy flex, vagy bármi más:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
#walami {
display: flex;
}
</style>
</head>
<body>
<form>
<input type="text" id="walami">
</form>
<script>
document.getElementById("walami").style.display = "none";
</script>
<input type="button" id="bazinga" value="Bazinga!">
<script>
document.getElementById("bazinga").addEventListener("click", function(event) {
document.getElementById("walami").style.display = "";
});
</script>
</body>
</html>Remélem, érthető a példa.
[ Szerkesztve ]
Forget your troubles, c'mon get happy
-
martonx
veterán
Az én javaslatom, ami szerintem A megoldás, még ha elsőre komplexnek is hathat a js-es barkácsmódszerekhez képest:
Egyrészt, ha mindent jól csináltál, akkor css media query-ket használtál, azaz tisztán css-ben dől el, hogy ez a div block vagy flex (ezen kicsit elmosolyodtam, hiszen a flex pont erre való, hogy ne kelljen media query-ket se használni, de te tudod, hogy miért jó hol block, hol flex-ként használni, szóval nekem már eleve itt bűzlik valami ).
A tisztán css-es megoldásból kiindulva, csak annyit kell tenned, hogy csinálsz egy css class-t, amit hívj mondjuk .hidden-nek, amiben egyetlen egy rule van: display: none !important;
Alapból oldal betöltésnél ezen a div-en legyen rajta ez a hidden class. Ezzel elérve, hogy betöltéskor ez az elemed nem fog látszódni. Ha minden igaz, akkor ezt eddig is így csináltad, ha viszont nem, akkor máris nem hiába koptattam a billentyűzetet.És amikor gombnyomásra vissza akarod hozni láthatóvá, akkor elég lesz csak ezt a class-t leszedni róla
document.getElementById("bazinga").addEventListener('click', event => {
document.getElementById("walami").classList.remove('hidden'); // fejből írtam, nem biztos, hogy hibátlan...
});és voilá, ekkor máris a tisztán css-ben, az adott szabályoknak megfelelő display lesz rá érvényes és így nem kell js-ben találgatni, hiszen a js nem erre való (függetlenül attól, hogy js-ben is meg lehet oldani). Separation of Concerns.
Én kérek elnézést!
-
martonx
veterán
Szuper! Ráadásul ezzel lett egy könnyen újrahasznosítható megoldásod a hidden class-al
Viszont légyszi majd azt azért gondold át, hogy biztos jól használod-e a flex-et, mert nagyon gyanús, hogy csak mobilon flex, egyébként meg block az elem display propertyje.Én kérek elnézést!
-
-
coco2
őstag
A js/php kommunikációt ha jsonokkal oldottad meg, én ellenőrizném a típus konverziót. Futottam már bele, hogy tömbnek hittem valamit, de a php objektumra fordította végül, és a js tömbként semmit sem látott belőle (gyakorlatilag nem ment át adat).
កុំភ្លេចប្រើភាសាអង់គ្លេសក្នុងបរិយាកាសអន្តរជាតិ។
-
coco2
őstag
Ahogy @martonx említette, az ilyesmivel már mindenki maga szenved. Valami elírás lesz.
Az írás áll abból, hogy ráhívsz a local storage függvényre kulcs és adat párossal. Azokat logba tudod dobni. Debug jelleggel beraksz oda azonnal egy visszaolvasást is. Ha nem egyezik a kimenet a bemenettel, akkor elírtad a függvény nevet Ha egyezik, de a bemenet nem stimmel, akkor a programot írtad el.
កុំភ្លេចប្រើភាសាអង់គ្លេសក្នុងបរិយាកាសអន្តរជាតិ។
-
martonx
veterán
A localStorage írás nem tud hibázni. Ráadásul faék könnyen ellenőrizheted, hogy mi van éppen a localstorage-ban, sikerült-e az írás.
Mivel semmit nem tudunk a rendszeredről, ezért azt sem tudhatjuk, hogy esetleg van-e valami ultraspéci jogosultsági probléma. Vagy hehe, a kódod el sem jut az írásig, csak te azt hiszed, hogy eljut. De ezt is csak te tudod ellenőriznilocalStorage.setItem('myKey', 'myValue');
Ha ez mindenkinél működik, csak éppen te vagy az egyetlen, akinél nem, akkor szerinted ebben ki tud neked segíteni?
Én kérek elnézést!
-
coco2
őstag
Ne vegyél rá mérget, hogy az ugyan az az tényleg ugyan az. Website-on ugyan azt a path-ot használod file behívásra, épp csak egy régebbi file verziót raktál oda, máris kész a "nem ugyan az" esete. Mikrokód-hibás-ez-a-vacak-CPU-filozofálás helyett már rég teleszórhattad volna az egész kódot console.log()-al orrvérzésig, és első nekifutásra kiderülne, mi sikerül félre.
កុំភ្លេចប្រើភាសាអង់គ្លេសក្នុងបរិយាកាសអន្តរជាតិ។
-
Taci
addikt
Egyből a biliárd játékok jutottak eszembe, és találtam is még tutorialt is hozzá:
JavaScript + HTML5 GameDev Tutorial: 8-Ball Pool Game
Van forráskód is, illetve maga a játék is a leírásban szereplő linkek alatt. -
Pala
veterán
Nézd meg YT-on vagy akárhol, hogyan kell egy Pong játékot canvasra leprogramozni, onnan tudsz meríteni ötleteket, praktikákat. Azért a Pongot említem, mert ott a falról/paddle-ről visszapattanó labda valamelyest párhuzamba állítható az általad említett lézeres-tükrös koncepcióval.
Én írtam játékot canvasra, arra készülj fel, hogy ez javarészt geometria + algoritmizálás.
[ Szerkesztve ]
-
Új hozzászólás Aktív témák
- XPS 9530 15.6" 3.5K IPS érintő i7-13700H RTX 4060 32GB 1TB NVMe ujjlolv IR kam gar
- AKCIÓ! GAMER PC - RTX 2060 6GB - Ryzen 5 5500 - 16GB DDR4 - 240GB SSD - 500GB HDD
- ÚJ! GAMER PC - RTX 3060 12GB - i5 12400F/13400F - 16GB DDR4 - 500GB Nvme SSD
- Eladó Dell Alienware AW2518HF Monitor 1080p / Flat / 240Hz / TN
- Corsair RM1000x - eladó!
Állásajánlatok
Cég: Promenade Publishing House Kft.
Város: Budapest
Cég: Ozeki Kft.
Város: Debrecen