Hirdetés

2024. május 19., 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

(#8351) coco2 válasza Prog-Szerv (#8345) üzenetére


coco2
őstag

Próbáltad már értelmezni azt a hibaüzenetet? Valami egy gyűjteményt használna, ami nincs ott. Talán db hiba php oldalon, nem tudom. Ha nem lehetetlen kibogarászni azt a forrást, kotord fel a hibás részletet. Amit bekoppantottál, nem hivatkozik hosszúságra.

កុំភ្លេចប្រើភាសាអង់គ្លេសក្នុងបរិយាកាសអន្តរជាតិ។

(#8352) Prog-Szerv válasza martonx (#8350) üzenetére


Prog-Szerv
csendes tag

Hát megnéztem a trailerét.....az elején ami elsőnek eszembe jutott: wtf....aztán amikor a kijelölésből előhúztak egy komplex grafikont akkor: najó ..... :D beszarás.... Van egy saját websabolonom ami egyben adminisztrációs rendszer is, itt szeretném használni. Mit javasolsz? client side? server side? Úgy látom ez nem ajaxot hazsnál az adatok kinyerésére...

(#8353) Prog-Szerv válasza coco2 (#8351) üzenetére


Prog-Szerv
csendes tag

Igen azóta már megtaláltam....datatables-ben több módon is lehet kezelni az ajaxos adatokad de mindegyik módszernek megvan a maga metódusa és én nem megfelelően formázott json tömböt adtam neki át...most hogy javítottam már jó, csak most meg lehet találtam egy datatables alternatívát. :D

(#8354) martonx válasza Prog-Szerv (#8352) üzenetére


martonx
veterán

client side, és minden ajaxot használ a mai világban :)

Én kérek elnézést!

(#8355) Prog-Szerv válasza martonx (#8354) üzenetére


Prog-Szerv
csendes tag

Hogyan tudok vele ajaxot használni? :(
Ezt a részt megtaláltam ahol beolvassa az adatokat:
agGrid.simpleHttpRequest({ url: 'https://www.ag-grid.com/example-assets/olympic-winners.json', })
De hogyan tudok itt például paramétert átadni neki?

(#8356) martonx válasza Prog-Szerv (#8355) üzenetére


martonx
veterán

Mert ez az agGrid.simpleHttpRequest csak egy segédlet. Azaz simán le tudod ehelyett fetch-el kérni az adatokat, aminek úgy adsz át paramétereket, ahogy akarsz :)

Én kérek elnézést!

(#8357) Prog-Szerv válasza martonx (#8356) üzenetére


Prog-Szerv
csendes tag

No hát egyelőremaradtam a datatables.js-nél ha már megtaláltam a megoldást, azok számára akik hasonlóval küzdenének mint én, üzenem, hogy ne foglalkozzanak a datatables.js DOM változatával.... az az adatmennyiség ami DOM verzióban 15 másodperc alatt töltődött be ajax-al 0.5 sec volt. :D Mindenképpen az ajaxot ajánlom...

(#8358) Alcsi69


Alcsi69
senior tag

Sziasztok!

Eléggé kezdő vagyok még az egész JavaScript témában, viszont kaptam egy érdekes assignment-et.

A lényege az lenne hogy Vue.js, Vuetify és Punk API segítségével egy olyan programot kell írni amiben lehet keresni illetve szűrni az egyes söröket.
Maga a program nem tűnik túl bonyolultnak, viszont én még VanillaJS-ben sem vagyok profi.

Tudnátok esetleg jó resource-okat küldeni amelyek segítségével meg tudom írni ezt a programot? :)

Előre is köszönöm szépen a segítségeteket!

(#8359) Taci


Taci
addikt

Sziasztok!

Arra gondoltam, hogy a kliens hálózati sebességétől teszem függővé, hogy milyen (vagy milyen minőségű) képeket küldök ki az eszközre (ezeket természetesen felülbírálhatja, ha szeretné).

Ha gyenge a kapcsolata (pl. 3G), akkor csak 1-2 ismétlődő "template" kép, cache-li, és nyilván ugyanazt tölte be újra és újra. Ha jobb kapcsolata van (4G pl.), akkor már jöhetnek mondjuk a 250kB alatti képek is. Ha pedig mondjuk LAN-on van, akkor akár az egészen nagy képek is.

Így lenne 3 kategória, csinálnék az oldal betöltésekor egy sebességtesztet, és ehhez mérten adnám a tartalmat.

A kérdés csak az, hogyan lehet legjobban ezt a sebességtesztet elvégezni. Amilyen megoldásokat találtam, azok úgy működnek, hogy van 1 fix fájl (kép), annak adott a mérete byte-ban, azt letölti a kliens, és ahhoz mérten, hogy mennyi idő alatt szedi le, abból számolja ki a hálózati sebességet.
Pl.: [link]

Ez kisebb fájlokkal is működik? Mert mondjuk ha adott egy rossz lefedettségű 3G kapcsolat, nyilván nem fogom azzal kezdeni az oldal betöltését, hogy rádobok egy 5 MB-os fájlt, hogy megnézzem, mennyit bír. :DDD Elég egy 100kB-os is? Valós (használható) eredményt ad?

Vagy van erre jobb módszer, hogy megállapítsam a kliens hálózati sebességét?

Köszi!

(#8360) sztanozs válasza Taci (#8359) üzenetére


sztanozs
veterán

Szvsz célszerű három különböző méretű fájllal dolgozni, hogy melyik jön le az adott időn belül (pl 3 sec): 10 kB, 100 kB, 1 MB
Ez alapján be tudod lőni a sebességet. Ha valamelyik nem jön le a kért időn belül akkor az annál egyel kisebb sebességet választod (és a következővel meg sem próbálkozol).
De lehet más módszerrel is próbálkozni (pl websocket és fix méretű (random) payload és azt nézed meg, hogy adott idő alatt mennyi csomag jön át).

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...

(#8361) martonx válasza Alcsi69 (#8358) üzenetére


martonx
veterán

Vuejs betanulási ideje a legjobb, mondjuk react-hoz képest. A doksija is kiváló. Vuetify-t és Punk API-t nem igazán ismerem.
Szóval szerintem kezdj neki, és rá fogsz jönni, hogy nem is olyan vészes.

Én kérek elnézést!

(#8362) martonx válasza Taci (#8359) üzenetére


martonx
veterán

Rosszul közelíted meg. Mindig éppen akkora képet adj vissza, amekkora kell, semmivel se nagyobbat. És igen, ehhez kelleni fog némi backend, amivel ezt megoldod, hogy mindig tökéletesre méretezett, optimálisan tömörített képet tudj szerezni.
Semmi értelme nincs tesztelgetni a kliens sávszélességét.

Én kérek elnézést!

(#8363) Taci válasza sztanozs (#8360) üzenetére


Taci
addikt

(Ne haragudjatok, hosszú lett, "hangosan gondolkodom", offba is rakom, de tanácsot szívesen elfogadnék, van pár kérdésem benne.)

Ötletem sincs, mik lehetnek a jó mérőszámok, de ezeket a kategóriákat szeretném lefedni:

1) Gyenge hálózati kapcsolat
3G és alatta

2) Közepes sebességű hálózati kapcsolat
3G és 4G között, 4G-t is beleszámítva, mert 1-2-5 MB-os képeket én sem szeretnék 4G-n töltögetni, hiába lejönne hamar. (több 10-100 db képről is szó lehet, attól függően, mennyit scroll-ozik a user).
Sőt, lehet, hogy ebbe a kategóriába kerülne minden mobileszközös kapcsolat.

3) Gyors hálózati kapcsolat
Ezt meghagynám az asztali böngészőknek (LAN, otthoni vagy céges wifi, ahol nincs korlát az adatmennyiségre) a nagy fájlméretek miatt.

Ezekhez akkor hogyan lehetne jól belőni a számokat? Amiket példának mondtál, azokat lehet is használni? Mindjárt nézem a hálózati sebességeket.

Preset,download(kb/s),upload(kb/s),RTT(ms) GPRS,50,20,500 Regular 2G,250,50,300 Good 2G,450,150,150 Regular 3G,750,250,100 Good 3G, 1000,750,40 Regular 4G, 4000,3000,20 DSL 2000, 1000,5 WiFi 30000,150000,2

kB-ban:
- erős 2G: 56 kB/s
- átlagos 3G: 94 kB/s
- erős 3G: 125 kB/s
- átlagos 4G: 500 kb/s

Egy fontos kérdés ezen a ponton: Az oldal többi elemét is tölti, nyilván nem 1 szálon dolgozik. Viszont a sebességmérésnek csak akkor van értelme, ha a teljes sávszélesség az övé (mármint más alkalmazások is használnak, de legalább az oldalam más elemeinek betöltése ne lassítsa, amíg sebességet mér.)
Ezt melyik ponton tudom a legbiztosabban kivitelezni? a document onload nem jó, mert addigra már az első 4 elemet betöltötte. Ha előtte indítom, akkor párhuzamosan tölti a többi elemet is (css, js stb.).
Erre mi a jó megoldás, hol van a "jó mérési pont", ahol csak ez a szál futhat?

Tegyük fel, hogy ez megvan (nincs, tanácsot kérnék ide is - de csak hogy a gondolatmenetet folytatni tudjam).

Egyszerre 4 képet tölt be az oldal - persze ha a user scroll-oz mint az őrült, akkor végtelen + 4-et. De nézzük azt, hogy egyszerre csak 4-et tölt be.
Ahogy néztem, egy átlagos, jó minőségű kép, amik a feed-ekben vannak általában 100 és 250 kB között vannak. Ezeket a képeket adnám a 2-es kategóriának.
Tehát ha 4 ilyen képet tölt egyszerre, és mind 250 kB, akkor 1 MB-ot kell betöltenie egyszerre (csak a képeket számolva).

Na és itt elakadtam... Milyen számokat adjak meg a három kategória határétékeinek?
Mi számít elfogadható betöltési sebességnek?

Ez ugye 4G-n 2 mp / betöltés (4 db kép). Ez rendben van, bőven belefér.
Erős 3G-n ez már 8 mp / 4 db kép. Tehát betölt az első adag, scrollozol lefel kicsit, és tölt a következő adag. 8 db képre ez már 16 mp. Túl sok, ez biztos.
Talán képenként 1 mp még belefér. 250 kB/s.

Az 1)-es kategóriába akkor tartozna a 250 kB/s alatti sebesség.

A 2-es kategória lenne mondjuk akkor 250-500 kB/s között, így az átlagos méretű (250 kB) képekkel számolva 2-4 mp alatt töltene be egy-egy 4-es képcsoport.
Illetve valahogy ide kell szűrnöm az akár gyorsabb kapcsolattal, de mobilon netezőket, mert azért az adatcsomagot nem szeretném "leenni" róluk. Erre is biztosan van valami módszer, hogy kiszűrjem - keresek is majd.
Mobilon nyilván wifi-n is lehet netezni, és ott nem számít az adatmennyiség. Szóval nem mondhatom minden mobilról érkezőnek, hogy ti csak a 2)-es kategória képeit kapjátok. Bár gondolom, ez egy egyszerű IF-ág lesz (HA mobilról ÉS a sebessége a 2-es kategóriában)

A 3)-as kategóriába pedig a nem mobil eszközről (hanem PC-ről) érkezők. Vagy HA mobilról ÉS a sebessége gyorsabb mint... na egyelőre ezt sem tudom, itt milyen sebességekre szűrjek.

Túl sok gondolat ez így egyszerre, leírom, aztán ha kifújtam magam, visszanézek majd.
Bocs, hogy ilyen hosszú lett.

(#8364) Taci válasza martonx (#8362) üzenetére


Taci
addikt

Nem tárolok egyetlen egy képet sem (csak a blank, "kitöltő" képeket, amiket gyenge kapcsolatnál adnék vissza). Az összes többi csak link, RSS-ből kiszedve, nem én tárolom, így méretezni sem tudom. Muszáj vagyok számolgatással és sebességméréssel szétválasztani a terített tartalmat.

(#8365) Mr. Y


Mr. Y
senior tag
LOGOUT blog

Sziasztok!

Úgy vélem, kérdésem ide való, mint bármely más Webprogramozói topikba.
Adott egy Canvas, amit értékekkel töltök fel. Azonban szükségem lenne egy vízszintes, teljes szélességű vonalra. amit meg tudok fogni az egérrel, és fel-le mozgatni. Ez megvalósítható?

Előre is köszönöm a válaszokat!

But who is watching the guardians?

(#8366) martonx válasza Taci (#8364) üzenetére


martonx
veterán

Az teljesen mindegy, hogy a képek sajátok-e, és te tárolod-e őket :D A link alapján le tudod szedni, át tudod méretezni, és vissza tudod adni a megfelelő méretben.
A böngészőnek küldött html-ben nem az lesz, hogy <a href="https://kulsodomain.com/ezegykulsokep.jpg"> hanem az hogy <a href="https://azenoldalam.hu/kepatmeretező?width=460&heigh=230&source=https://kulsodomain.com/ezegykulsokep.jpg">

Én kérek elnézést!

(#8367) martonx válasza Mr. Y (#8365) üzenetére


martonx
veterán

Ha a canvas fölé rakod az nem jó?

Én kérek elnézést!

(#8368) sztanozs válasza Taci (#8363) üzenetére


sztanozs
veterán

;TLDR - van API ami visszaadja, de nem támogatott minden környezetben (Mac, iOS, Firefox, IE). IP alapján lehet még esetleg vélelmezni:
Privát IP tartomány: wifi
- 10.0.0.0/8
- 172.16.0.0/12
- 192.168.0.0/16
Minden más (ISP és publikus): mobilnet

https://stackoverflow.com/questions/8598065/how-do-you-detect-3g-vs-wifi-connection-on-mobile-safari

[ 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...

(#8369) Mr. Y válasza martonx (#8367) üzenetére


Mr. Y
senior tag
LOGOUT blog

Mire gondolsz pontosan?

But who is watching the guardians?

(#8370) Alcsi69 válasza martonx (#8361) üzenetére


Alcsi69
senior tag

Köszönöm szépen a választ.
Megpróbálkozok vele, de ez a hét péntek a határidő és egy csomó cuccot kell még egyetemen csinálnom szóval lehet nem fog összejönni. Remélhetőleg nem annyira fontos, mert ez egy speciálisabb assignment már. :)

(#8371) Taci válasza martonx (#8366) üzenetére


Taci
addikt

Ezt nem értem.
Mármint azokat a képeket egyáltalán nem célom tárolni semmilyen formában. Viszont ha nem tárolom, átméretezni sem tudom őket. A megjelenített méreteit meg tudom változtatni, így át tudom "méretezni", de ettől a fájlméret még nem változik, nekem pedig most csak az számít. (Bár szerintem egyről beszélünk, csak én vagyon nagyon fáradt.)

Ez a példa amit írtál azt jelenti, hogy letöltöm, átméretezem, aztán hivatkozok rá, hogy honnan van(?) (&source=).
Vagy valahogy mégis meg lehet oldani, hogy a kliens úgy kapjon kisebb felbontású (és így fájlméretű) képet, hogy én ezt nem tárolom? Ez lenne a "/kepatmeretező?width=460&heigh=230"? Egy kód szerver oldalon (php)? Hogyan működik? Minden képletöltésnél átméretez, és azt "adja oda"? De akkor minden egyes kép minden egyes letöltésekor ez lefut és dolgozik? Letilt a szolgáltató. :D Ezt optimalizálni úgy lehetne, hogy tárolom az átméretezett képeket, de ez nem opció.

Kérlek, írd le picit pontosabban, milyen megoldásra is gondolsz. Vagy ha van neve a megoldásnak, az is elég, ha megírod, és rákeresek. De egyelőre ez így nem világos, mert az előbb végig logizákozott vonal forráspazarlásnak tűnik csak.

Köszi.

(#8372) martonx válasza Taci (#8371) üzenetére


martonx
veterán

Jól érted, pont ezt kell csinálnod. Szerver oldalon (ami most esetedben PHP) letöltöd, de nem tárolod, csak kiszolgálod a kicsire átméretezett képet.
És itt jön a történetben a csavar, hogy a rendszered fölé teszel egy CDN-t, ami egyébként kb. ingyenes, legalábbis ahhoz egész nagy terhelésednek kell lennie, hogy elérd a havi 1EUR-os fizetendő díját.
Azaz ez benne trükk, hogy te ezt tényleg nem fogod tárolni, ezt megoldja helyetted a CDN :)

Én kérek elnézést!

(#8373) Taci


Taci
addikt

martonx és sztanozs: Köszönöm a tanácsokat, utána nézek ezeknek a megoldásoknak.

Azt még meg tudnátok mondani, a lap betöltésének melyik pontján tudom mérni a sebességet úgy, hogy a lap más elemeinek töltése ne kavarjon be? Mert így most csak az első teljes betöltés utánra tudok gondolni, de jó lenne még az elemek töltésének megkezdése előtt, hogy csak akkor kezdje el, miután sebességet mértem. Ezt a JS-hívást hova kell raknom, vagy hogyan kell meghívnom, hogy így működjön? Köszi.

[ Szerkesztve ]

(#8374) sztanozs válasza Taci (#8373) üzenetére


sztanozs
veterán

a lap betöltése előtt és utána elmented ezt egy cookieba és redirectelsz a valós oldalra.

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...

(#8375) martonx válasza Taci (#8373) üzenetére


martonx
veterán

Továbbra is azon a véleményen vagyok, hogy maximálisan értelmetlen sebességet mérned, pláne ha ezzel a célod a betöltés gyorsítása :D mivel a pagespeed a plusz js szüttyögés miatt még le is fog pontozni, miközben a probléma az, hogy ha meg akarsz jeleníteni egy 460X230-as képet, akkor nem egy 2Mbyte-os 4K-s képet kellene lerángatni netről, hanem egy 20kbyte-os pontosan 460X230-asat.
És ezen nem fog semmit segíteni, hogy te page initnél pár másodpercig hálózati sebességet méricskélsz, hogy eldöntsd majd hogy, mekkora képet szolgálj ki. :)

Én kérek elnézést!

(#8376) Mr. Y


Mr. Y
senior tag
LOGOUT blog

Üdvözlet!

Ez miért nem akar működni? Elvileg kellene neki:

function lineok() {
document.getElementById("first").value = document.getElementById("second").value;
}

Két numerikus változó van. Egyet nem lehet átírni, a másik input. Gombnyomásra kellene, hogy a két érték egyenlő legyen, de a fentebb látható kód valamiért nem működik.

[ Szerkesztve ]

But who is watching the guardians?

(#8377) coco2 válasza Mr. Y (#8376) üzenetére


coco2
őstag

.value -> .innerHTML

កុំភ្លេចប្រើភាសាអង់គ្លេសក្នុងបរិយាកាសអន្តរជាតិ។

(#8378) coco2


coco2
őstag

Google chrome, desktop, leguccsó verzió, localStorage kérdésbe ütköztem:

A local storage-nek egy vadiúj domain esetén nem kellene üresnek lennie?

Az alkalmazásom init-je arra számított, és csak log-ból látom, hogy kitörölt egy kulcsot, amin nem alkalmazás-specifikus adatot talált. Utólag csak a kulcs nevét látom ("NavigationWidth") az egykori tartalmat nem. Most belenéztem chrome dev tools-al a domain-hez tartozó local storage-ba, és ott egy ilyen kulcs: "Console", tartalom:
AlwaysExpand: false
CurrentQuery: true
DarkTheme: false
EnterExecutes: false
GroupQueries: false
Height: 92
Mode: "collapse"
Order: "asc"
OrderBy: "exec"
StartHistory: false

Na ez sem az enyém. És nem találtam erről doksit. Mi a hócipő ez? A világon semmi framework nincs a webcuccban. Még jquery sem. Direkt teljesen üres. Azokat a kulcsokat maximum valami plugin rakhatta oda, vagy a chrome. A chrome saját maga használja a local storage-et?

Valami tapasztalatnak / blog url-nek örülnék.

កុំភ្លេចប្រើភាសាអង់គ្លេសក្នុងបរិយាកាសអន្តរជាតិ។

(#8379) Mr. Y válasza coco2 (#8377) üzenetére


Mr. Y
senior tag
LOGOUT blog

Köszönöm, mostmár csinál is valamit. Most, hogy nézem, több sebből is vérzik a kódom

But who is watching the guardians?

(#8380) Mr. Y válasza coco2 (#8377) üzenetére


Mr. Y
senior tag
LOGOUT blog

Illetve nem, nem működik. Semmilyen input esetén. Csak mezei DIV használattal tudtam rávenni működésre, de amint az ID bármillyen INPUT taghoz tartozik, elvérzik.

But who is watching the guardians?

(#8381) coco2 válasza Mr. Y (#8380) üzenetére


coco2
őstag

Kellene teljes html. Például ha <input type="text" .. >, akkor rakd vissza ".value"-ra, de akkor működnie kellett volna egyébként is.

កុំភ្លេចប្រើភាសាអង់គ្លេសក្នុងបរិយាកាសអន្តរជាតិ។

(#8382) Mr. Y válasza coco2 (#8381) üzenetére


Mr. Y
senior tag
LOGOUT blog

Ezt nem értem. Vissza raktam Value-ra és most működik :W :W :W :W :W :W :W :W

Egyéb kérdés: Most rengeteg alterntívát találtam, csak nem tudom, mi lenne a legegyszerűbb rá, egyik sem konkrétum.

Az volna még a cél, hogy készítettem egy DIV mezőt, amit vertikálisan tudok mozgatni a képernyőn. Ennek az Y pozícióját szeretném folyamatosan kijeleztetni egy numerikus váltóba, lehet az input is. Lényeg, hogy amint megmozdítom, az y koordináta kijelző átíródik az adott DIV legtetejének pozíciójára. De ha éppen a közepét, vagy az alját jelzi, az sem zavar.

(mintha egy Range lenne, csak nem az)

A találatok között bíztató az offSetTop, csak nem tudom, hogy ez erre való-e és honnan mér.

[ Szerkesztve ]

But who is watching the guardians?

(#8383) Silεncε válasza coco2 (#8378) üzenetére


Silεncε
őstag

Gyors Google: ezeket a phpmyadmin pakolja el

[link]

(#8384) coco2 válasza Silεncε (#8383) üzenetére


coco2
őstag

Köszönöm :C

កុំភ្លេចប្រើភាសាអង់គ្លេសក្នុងបរិយាកាសអន្តរជាតិ។

(#8385) Mr. Y válasza Mr. Y (#8382) üzenetére


Mr. Y
senior tag
LOGOUT blog

Erre azt hiszem metaláltam a megoldást.

But who is watching the guardians?

(#8386) Taci válasza martonx (#8375) üzenetére


Taci
addikt

De valahogy akkor is tudnom kell, hogy melyik kliensnek adjam a lebutított (460x230-as) képet, és melyiknek a normál (1000x500-as) képet. (Akár saját tartalommal, akár máshonnan.)
Nem akarok én persze sebességméréssel bajlódni, egyetértek veled teljesen, de akkor hogyan tudom egyszerűbben ketté ágaztatni ezt, hogy a lassabb ezt kapja, a gyorsabb meg azt? Rendszer szinten van definiálva valami változó/függvény, amit ehhez fel lehet használni?
Pl. egy mobil rendszer (Android, iOS) tudja, hogy milyen kapcsolaton van. És a Windows is. A böngészők tudják? Meg lehet kérdezni tőlük? Ha igen, hogyan?

[ Szerkesztve ]

(#8387) Mr. Y válasza Taci (#8386) üzenetére


Mr. Y
senior tag
LOGOUT blog

Most olvasom csak a problémádat.
Erre viszonylag egyszerűen szokták a megoldást megadni. Minden esetben a kisebbik felbontás tölt be és az hamar meg is jelenik. Közben a háttérben (elrejtve) betölti a nagyobb felbontású képeket is. Ha azzal végzett (ezt egy egyszerű js rutinnal le tudod követni), akkor megjelennek a nagyok és eltűnnek a kicsik.

Ez eredményez "gyorsan" betöltő weboldalt minden eszközön és mire a felhasználó eljut odáig, hogy részketesen szemügyre vegye a médeatartalmat is, addigra már be vannak töltve a nagyobb, jobb minőségű képek.

Amennyiben vizsont nem ez lenne a cél, akkor nem szóltam :))

[ Szerkesztve ]

But who is watching the guardians?

(#8388) Taci válasza Mr. Y (#8387) üzenetére


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.

(#8389) coco2 válasza Taci (#8388) üzenetére


coco2
őstag

Hát pedig akkor sebességmérned kellene. És ahhoz nem jók a statikus linkek, xhr-t kellene indítanod. Amikor elindítasz egy letöltést, rakd el az időpontot. Amikor végeztél vele, összehasonlítod. A Date.now() millisec alapon mér.

[ Szerkesztve ]

កុំភ្លេចប្រើភាសាអង់គ្លេសក្នុងបរិយាកាសអន្តរជាតិ។

(#8390) martonx válasza Taci (#8386) üzenetére


martonx
veterán

Erre való az image srcset How to Use HTML5 “picture”, “srcset”, and “sizes” for Responsive Images (tutsplus.com)
Felejtsd már el a hálózati sebességet, lényegtelen. Valahogy nálad ez csípődött be, könyörgök felejtsd el! :O
Egy dologra kell figyelj, hogy a képernyő felbontásának megfelelő méretű képet add oda, és akkor mindenki boldog lesz.
Ha kicsi a képernyő (értsd mobil), akkor annak egy kicsi kép fog menni, ha nagy a képernyő, mert desktopon nézed, akkor annak egy nagy kép fog menni.
Egyébként is, attól, hogy valakinek lassabb a netje, még nem fogsz minden képet 32X32 pixelesen küldeni, hogy is nézne már ki. Meg ő tudja is magáról, hogy szar a netje és türelmesen kivárja :D

A linkelt példa szerintem egész jól bemutatja, elmagyarázza.

Én kérek elnézést!

(#8391) Taci válasza martonx (#8390) üzenetére


Taci
addikt

Köszönöm a linket, úgy látom, ez (elsőre) egy nagyobb lélegzetvételű téma, de érdekel, és hátha valóban ez a jó megoldás, úgyhogy mindenképp végig olvasom és értelmezem. :)

Meg ő tudja is magáról, hogy szar a netje és türelmesen kivárja
Ezt azért tudjuk, hogy sajnos nem (mindig) így működik. :)

A CDN-téma viszont teljesen ismeretlen számomra. Van esetleg ajánlott szolgáltató? Jó lenne, ha üzemelne még jó pár évig, és nem baj, ha fizetős, csak legyen próba verziója, hogy tesztelni tudjam.

Köszi!

(#8392) martonx válasza Taci (#8391) üzenetére


martonx
veterán

"és hátha valóban ez a jó megoldás" - nem hátha, hanem ez az egyetlen jó megoldás. Ez egy publikus topik, amellett hogy segítünk, én legalábbis arra is próbálok odafigyelni, hogy ne szerepeljenek hülyeségek, tévutak, másokat ne vigyenek félre hülyeségek, még ha valakinek éppen nagyon be is csípődött a saját ötlete (ami önmagában elvi szinten nem is lenne hülyeség, csak épp megvalósításkor minden elvi előnye el is úszna).

CDN-re nem kell sokat találgatni, valamelyik nagy felhő providernél be kell regelni, és elkezdeni használni. AWS, Azure, Google Cloud mindegyik tud CDN-t, és ezek mindegyike sokáig velünk lesz még szerintem. És ahogy mondtam a te szinteden ingyenesek, majd ha lesz napi több ezer látogatója az oldaladnak, akkor elkezdhetsz fizetni havi 1-2EUR-t nekik a CDN-ért. Regisztráció után X ingyenes keretet szoktak adni 1 évig, szóval nyugodtan próbáld ki, első hónap után látni fogod, hogy normál esetben mennyit kellene fizetned (tippre a te felhasználásoddal csak CDN esetben nullát).

Én kérek elnézést!

(#8393) nevemfel válasza Taci (#8391) üzenetére


nevemfel
senior tag

Én azt javaslom, hogyha sok képet akarsz megjeleníteni, akkor használj progresszív képbetöltést, tehát csak akkor kérd le a képet, ha az oldal görgetése a képhez ér (vannak rá kész libek), vagy inkább használj valami galériát, ami szintén nem tölti be az összes képet előre, csak ha a képlapozás odaér (szintén ezernyi kész program van rá, ami előre is tölt x darabot, lapozás irányától függően.)

Forget your troubles, c'mon get happy

(#8394) Taci válasza martonx (#8392) üzenetére


Taci
addikt

Ismételten köszönöm szépen, innen már minden tiszta, rajtam áll csak, köszönöm a türelmet és a sok választ! :R

@nevemfel: Köszönöm a tippet. Csináltam infinite scroll-t, egyszerre 4 elemet tölt be, aztán a a 4. tetejéhez érve újabb 4-et és így tovább. Csak abban nem vagyok most biztos, hogy az összeset letölti-e akkor is, ha mint az őrült scrollozni kezdek lefelé. De mivel én csináltam, és olyat nem raktam bele, hogy ha már nincs képen, ne töltse tovább, ezért biztosan letölt mindent, nem áll meg. De akkor beleírom ezt is. Köszi.

(#8395) Mr. Y


Mr. Y
senior tag
LOGOUT blog

Sziasztok!

Szükségem lenne egy paraméter fordítottjára.
Adott a lehetőség, hogy .style.top - al meghatározzuk egy adott elem (pl div) y pozícióját. Azonban én ezt visszafelé szeretném, le akarom kérdezni, hogy mennyi és azt egy numerikus változóban megjeleníteni.
Készítettem erre egy utasítássort, ami remekül működik, mindaddig, amíg az adott elem koordinátái nem változnak meg az oldal betöltéséhez képest.
Mivele ez az elem mozgatható, így szükséges lenne, hogy bármilyen pozícióba is kerül, le lehessen kérdezni és ne üres mező jelenjen meg, amint elmozdul.

Itt az általam írt kód:

setInterval(changevalue, 3000)
function changevalue() {
var w = document.getElementById("line").style.top;
var n = Number(w)
document.getElementById("ycoordinata").value = n;
}

Akárhogyan is nézem, ennek működnie kellene minden körülmények között. De csak addig hajlandó, míg id="line" nem mozdul el a helyéről.

Tudtok ebben segíteni?
Előre is köszönöm!

But who is watching the guardians?

(#8396) Mr. Y válasza Mr. Y (#8395) üzenetére


Mr. Y
senior tag
LOGOUT blog

Megoldottam!

But who is watching the guardians?

(#8397) Mr. Y


Mr. Y
senior tag
LOGOUT blog

Van esetleg köztetek olyan, aki kommunikált már HTML JavaScript-el USB-s eszközzel?

But who is watching the guardians?

(#8398) sztanozs válasza Mr. Y (#8397) üzenetére


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...

(#8399) Mr. Y válasza sztanozs (#8398) üzenetére


Mr. Y
senior tag
LOGOUT blog

Te melyiket ajánlanád inkább?

But who is watching the guardians?

(#8400) coco2 válasza Mr. Y (#8397) üzenetére


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?

កុំភ្លេចប្រើភាសាអង់គ្លេសក្នុងបរិយាកាសអន្តរជាតិ។

Copyright © 2000-2024 PROHARDVER Informatikai Kft.