- Jövőre veti be az FSR 4-et a Sony a PlayStation 5 Pro konzolon
- Angol futball: 30 szezon statisztikáiból gyűjt érdekességeket a Microsoft AI
- Kifarolhat az üvegszubsztrátumok piacáról az Intel
- Magas AI-költségek, csökkenő létszám: dolgozók ezreit rúgja ki a Microsoft
- Tovább csúsztatja az 1,4 nm-es node-ját a Samsung
- Luck Dragon: Asszociációs játék. :)
- Sub-ZeRo: Euro Truck Simulator 2 & American Truck Simulator 1 (esetleg 2 majd, ha lesz) :)
- hcl: MS Office365 Linuxon
- ubyegon2: Airfryer XL XXL forrólevegős sütő gyakorlati tanácsok, ötletek, receptek
- droidic: YouTube videók és playlistek letöltése GUI-alkalmazással
-
PROHARDVER!
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
-
sztanozs
veterán
válasz
lanszelot #8464 üzenetére
illetve ha van fent python, akkor a gyökérkönyvtárból ez kell kiadni, hogy indíts egy egyszerű webszervert:
python -m http.server 8000
vagy ha vant fent php a gépen, akkor php -S localhost:8000
és a http://localhost:8000/ címen kiszolgálja az aktuális könyvtárat. -
sztanozs
veterán
Elég csak letöltés után dolgozni rajta (1),vagy szeretnéd ezt a letöltött json-t session-ök között is tárolni (2)?
(1) - XHR-rel lekéred egy változóba (vagy akár egy rejtett textarea-ba) és dolgozol rajta
(2) - local storage - az (1)-ben letöltött adatot nem csak egy változóba teszed, hanem larakod local storage-ba is.Ha jól rémlik 105 MB/origin (szerver) a max tárolható adatmennyiség, ami böngészőfüggetlen. Illetve még ott van az IndexedDB. -
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): mobilnethttps://stackoverflow.com/questions/8598065/how-do-you-detect-3g-vs-wifi-connection-on-mobile-safari
-
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). -
sztanozs
veterán
Ez a fajta asszociatív tömb nem létezik JS-ben, a legközelebbi az egy objektum, aminek string paraméterei vannak (ahogy át is jön json-ban). Ez nem tömbbe kell beleerőszakolni, hanem meg kell tartani objektumnak és stingként kell hivatkozni az elemekre:
const json = '{"0":0, "5":0}';
const obj = JSON.parse(json);
console.log(obj[0]);
console.log(obj[5]);
console.log(obj);
obj[8] = 1
console.log(JSON.stringify(obj));
> 0
> 0
> Object { 0: 0, 5: 0 }
> "{"0":0,"5":0,"8":1}"
A számból álló kulcsokat tényleg nem szereti JS, mert az objektum kulcsai csak stringek lehetnek. -
sztanozs
veterán
Mármint jó kérdés még mindig hogy mit és hol szeretnél csinálni. Ugye a php a szerver oldalon fut, js meg - általában - kliens oldalon. Szóval minek mit kellene hogyan összeállítania?
1) kliens <--- te szervered <--- távoli szerver
2) kliens <-+- te szervered
|
+-> távoli szerver -
sztanozs
veterán
Inkább használj valami céleszközt, ami megőrzi a tizedeseket (pl decimal.js):
var quantity = Decimal('1.65');
var minQuantity = Decimal('0.55');
quantity.mod(minQuantity) -
sztanozs
veterán
válasz
sztanozs #7847 üzenetére
fn helyesen
function encodeHTML(e){return e.replace(/./g,function(e){return"&#"+e.charCodeAt(0)+";"})}
bár ez széttöri az emoji-kat (és vsz más komponens karaktereket is)
igazázából lehet elég ez is:function encodeHTML(e){return e.replace(/[<>]/g,function(e){return"&#"+e.charCodeAt(0)+";"})}
-
sztanozs
veterán
document.write(BA);
Ez felülírja az egész dokumentumot. Keress egy HTML objektumot (pl egy DIV-et) vagy illessz be valahova az oldalba, és add át az innerHTML értékének a kapott adatot (legjobb, egyébként ha fogadó oldalon dobsz rá egyescape-ethtml konvertert*, hogy véletlenül se lehessen szkriptet beinjektálni az oldalba).*
function encodeHTML(e){return e.replace(/[.]/g,function(e){return"&#"+e.charCodeAt(0)+";"})}
-
sztanozs
veterán
válasz
radi8tor #7842 üzenetére
Egy redirect egy oldalra, ami vsz valami droppert tartalmaz.
<meta http-equiv="refresh" content="1;url=https://****.com/base64_encoded_id">
Nem, ez egy Live.com phishing site:
Potentially malicious activity detected
Disclaimer: These verdicts should be used to detect potentially malicious websites, not as a final verdict!
urlscan - Score: 100
Categories: phishing
Tags: phishing
Phishing against: Microsoft (Consumer) -
sztanozs
veterán
válasz
Tomi_78 #7741 üzenetére
Szia!
A requestAnimationFrame lényege, hogy mindenhol ugyanolyan sebességgel fusson. Az, hogy ott lassabban futott vsz csak valami lokális ok miatt lehetett (pl sok tab, máshol is használta valami aktívan a grafikus drivert, vagy valami egyéb). Az is lehet, hogy nem volt lassabb, csak voltak olyan dolgok, ami miatt más volt a limitáló és amiatt tűnt lassabbnak.
írasd ki a képernyő szélére az fps-t, és látni fogod, hogy tényleg lassabb-e. -
sztanozs
veterán
válasz
hiperFizikus #7699 üzenetére
-
sztanozs
veterán
válasz
instantwater #7670 üzenetére
-
sztanozs
veterán
válasz
K1nG HuNp #7660 üzenetére
Ami még eszembe jutott az a shared secret.
Szintén PBKDF2-SHA2 funkcióba beledobod a felhasználónak generált azonosítót (256 bit random , vagy szintén PBKDF2-SHA2-256) és ezt sózva a shared secrettel újragenerálva.
A QR kódba kiírod az elsőt - UserID (256 bit) és a másodikat PBKDF(UserID, Shared secret - mint Salt) (szintén 256 bit)
Ez egy 2*32 bájtnyi adatot fog generálni, ami Version 7 High level error correctionbe épp belefér.Ez a modell offline is ellenőrizhető, ha a shared secret és az ellenőrzést végző kód fel van telepítve az olvasóra (pl RPi). Persze az offline-nal az a gond, hogy ugyanazzal a kóddal többen is be tudnak menni, hacsak nem csinálsz lokális hálózatot és érvényteleníted a már beolvasott kódokat (de ennyi erővel már lehet neted is)...
-
sztanozs
veterán
válasz
K1nG HuNp #7658 üzenetére
Ha a végén nálad fut be minden, akkor az oauth-hoz generálsz egy megfelelően hosszú random számot (vagy hash az emailből akár, megfelelő PBKDF2-SHA2 key generation funkcióval). A QR-nek csak a letárolt számot kell tartalamaznia, és nem tud vele visszaélni se a szervező, se nem lehet rosszindulatú usernek legenerálni, meglevő emailcím alapján.
Persze ehhez kell, hogy a beléptetéskor online tudják ellenőrizni a kódot.Ha offline kell, akkor azt tudod csinálni, hogy digitális aláírással aláírod az azonosítót, amit a szervező ad, és ezt a "csomagot" rakod át QR-be - viszont ez általában meghaladja egy praktikus QR méretét (Version 10).
-
sztanozs
veterán
válasz
instantwater #7641 üzenetére
VB-ből jött, ott nem kell () a fv végére, ha szubritinként van hívva (eldobjuk a visszatérési értéket)...
hiperFizikus - ha nem működik úgy, ahogy szeretnéd, akkor hiba van benne. akárhogy is csűröd-csavarod.
-
sztanozs
veterán
-
sztanozs
veterán
válasz
hiperFizikus #7621 üzenetére
bmp támogatja, csak nem rgb, hanem arbg színteret kell használni (és legalább egy paint-NET-et, nem sima windows paint-et).
Ja és amúgy a full tömörítetlen bmp-nél bármi jobb... -
sztanozs
veterán
válasz
hiperFizikus #7619 üzenetére
Használj olyan képet, ami alapból támogatja az átlátszóságot (gif, png), a jpg képek nem ilyenek.
-
sztanozs
veterán
válasz
Tomi_78 #7603 üzenetére
Nem ez nagyjából
setInterval(17)
-tel egyenlő, de
- ha a szkripted futása több, mint 16 ms, akkor összetorlódnak az eseményeksetInterval
-nál, míg arequestAnimationFrame
throtlingol
- ha háttérben van a canvas, asetInterval
akkor is triggerel, míg arequestAnimationFrame
nem (nem eszi feleslegesen az erőforrásokat). Ezzel ellentétben a háttérben futósetInterval
szépen torlódik, és Ph-reklámokban is látható "rohanással" éri utol magát, amikor újra előtérbe kerül.
- arequestAnimationFrame
visszaad egyrequestID
-t, amivel könnyebb szüneteltetni az animációt, mint asetInterval
-lal.
- arequestAnimationFrame
-ben regisztrált callback megkapja az aktuális időt (ha van a callback függvénynek argumentuma), így nem kell a függvényben szenvedni az előállításával -
sztanozs
veterán
válasz
hiperFizikus #7601 üzenetére
A setInterval csak fallback-nek jó, ha nincs már más lehetőség. Ne legyél már ennyire a magad ellensége...
-
sztanozs
veterán
-
sztanozs
veterán
válasz
hiperFizikus #7583 üzenetére
Ezt nézd még meg, ez is elég jól elmagyarázza a lényegét:
https://blog.teamtreehouse.com/efficient-animations-with-requestanimationframe -
sztanozs
veterán
válasz
hiperFizikus #7583 üzenetére
Ahogy írja is a tutorialban, ne
setInterval
-t használj, hanemrequestAnimFrame
-et. setInterval csak ott kell, ahol egyáltalán nincs más lehetőség. -
sztanozs
veterán
válasz
hiperFizikus #7576 üzenetére
Csekkdiszáut:
https://cloudinary.com/blog/creating_html5_animations
https://medium.com/@huiwang339/html-canvas-animation-with-javascript-1956426287d3
Plusz Canvas elejétől a végéig (az eleje végéig):
https://www.html5canvastutorials.com/tutorials/html5-canvas-element/ -
sztanozs
veterán
válasz
hiperFizikus #7518 üzenetére
-
sztanozs
veterán
válasz
hiperFizikus #7426 üzenetére
Persze, felteszed valami crowdfunding oldalra, és várod, hogy dőljön a pénz.
-
sztanozs
veterán
válasz
hiperFizikus #7422 üzenetére
Ha nem tudod, hogy mi az amiért fizetnének, akkor nem tudsz belőle árut csinálni.
Ha fizikailag érdekel a dolog (hogy lehetne teríteni), akkor írj hozzá némi körítést és fizetős hozzáféréssel tedd fel egy internetről elérhető oldalra (de vigyázz, mert ha kapós lesz, akkor lopni is fogják).
-
sztanozs
veterán
válasz
hiperFizikus #7416 üzenetére
Ilyen módon csak lokálisan futó JS/VBS szkriptek férnek hozzá. Weboldalról letöltött szkriptek esetében ez biztonsági okból le van tiltva.
Ezt külön engedélyezett JAVA Applettel lehetett korábban pl megcsinálni, de mára már ez is tiltva van. -
sztanozs
veterán
válasz
hiperFizikus #7414 üzenetére
Nincs ilyen formája. Használhatsz változót, amit beállítva kilép a külsőből is. Másképp, bár nem szép, de a dupla ciklust tedd bele functionba, és lépj ki belőle return-nel.
-
sztanozs
veterán
válasz
Nagyzoli27 #7400 üzenetére
pontosvessző nem hiányzik a végéről?
-
sztanozs
veterán
válasz
hiperFizikus #7383 üzenetére
Escape-elni kell, mert néhány karakternek a reguláris kifejezésben saját jelentése van, pl.:
\ escape karakter
. bármely karakter
| vagy-vagy kifejezés
^ sor eleje (illetve karakter szekvenciában negálás)
$ sor vége
[ karakter szekvencia eleje
] karakter szekvencia vége
( regex capturing-group eleje
) regex capturing-group vége
{ "többszörösítő" módosító eleje
} "többszörösítő" módosító vége
* nulla vagy többszöri előfordulás
? nulla vagy egyszeri előfordulás
+ egy vagy többszöri előfordulás
ezeket mind escape-elni kell
\
-el -
sztanozs
veterán
válasz
hiperFizikus #7376 üzenetére
Sztorno az előző, azt hittem valamiért, hogy php topicban vagyok (meg a kérdést is egy kicsit félreértettem)
Szóval Javascriptben csak az objektumok kerülnek át referencia szerint, egyszerű típust nem lehet úgy átadni.
Kb így lehet megkerülni:
var e4 = {Value: 0};
function alma(a1,b2,c3){
b2.Value = 456;
return 123;
};
alma(4,e4,8);
alert(e4.Value); -
sztanozs
veterán
válasz
hiperFizikus #7376 üzenetére
var e4 = 0 ;
function alma(a1,b2,c3){
global e4;
b2 = 456;
e4 = b2;
return 123;
};
alma(4,e4,8);
alert(e4); -
sztanozs
veterán
válasz
hiperFizikus #7372 üzenetére
Azért mert azzal az
xa1[4] = undefined;
utasítással létrehoztad az 5. elemet és abba tettél egyundefined
-ot.
Ha szeretnéd törölni az elemet, akkor
- utolsó elem törlésexa1.pop();
- tetszőleges elem (ix) törlésexa1.splice(ix, 1);
-
sztanozs
veterán
válasz
Nagyzoli27 #7341 üzenetére
F12
-
sztanozs
veterán
pure http post és get ha kell visszaigazolás, különben mehet webrtc-n (UDP), de nem biztos, hogy megkapod az üzenetet. Persze vacakolhatsz sima tcp-vel is, de ki tudja meddig lesz támogatott (és az IE láz óta nem láttam olyan peremfeltételt, hogy kizárólag egy böngészőt lehet használni)
-
-
sztanozs
veterán
válasz
sztanozs #7145 üzenetére
de inkább célszerű helyesen indexelni és rögtön a másodiktól kezdeni:
for(var j = 1; j < cellLength; j+=2) {
Mondjuk a ciklusban simán felülírod a második értékkel az elsőt.
Inkább így kellene:cx = 0
for(var j = 0; j < cellLength; j+=2){
var cellVal[cx] = oCells.item(j).innerHTML;
console(cellVal[cx]);
cx++;
} -
sztanozs
veterán
válasz
Hujikolp #6882 üzenetére
Átírod a 100-at nagyobbra. Ha máshonnan tölti be az oldal a JS-t és a forrást nem tudod szerkeszteni, akkor sok mindent nem tudsz csinálni.
Esetleg ha tudsz JS-et beszúrni az oldalba, akkor úgy felül tudod definiálni avalidateqsi_form1()
függvényt és oda beírod a saját értékedet. -
sztanozs
veterán
válasz
gepelek #6866 üzenetére
Az internetes boltok nem (és mások sem) szeretik, ha iframe-ben jelenítik meg őket, mert könnyen átejthetők a tartalmat nézegetők némi fix overlay divek segítségével.
Content Security Policy: [link]
Ez van az oldal headerjében:content-security-policy: frame-ancestors 'self';
-
-
sztanozs
veterán
válasz
#78693120 #6805 üzenetére
És hogy fel se merüljön, miért érdemes elkerülni (bár már nem annyira rossz a helyzet, mint anno)
-
sztanozs
veterán
válasz
kw3v865 #6771 üzenetére
igazából a jquery nem ad vissza semmit (azonnal) - a success:-ben kellene azt feldolgoznod - ezért hívják ajax-nak a lekérdezést ("Asynchronous JavaScript + XML")
illetve ha async: false - ot állítasz be, akkor vár (blokkol) amíg visszatér a lekérés, és vissza tudod adni így:
return jQuery.ajax...
Viszont ez jQ v1.8 óta deprecated.
-
sztanozs
veterán
válasz
PumpkinSeed #6488 üzenetére
Itt van egy implementáció - célszerű átnézni a részleteket, szerintem ez is ajax alapon működik: [link]
-
sztanozs
veterán
Google 1st
Szóval pac-ból nem tudod megoldani, de a wpad szerver adhat más más pac fájlt (ha nem közvetlenül a pac fájlt adja, hanem - mondjuk phpval - lekezeli a kérést és más más fájlt ad user agent alapján). -
sztanozs
veterán
A JS-t viszont most tolják minden platformra, boldog-boldogtalan abban fejleszt, a PHP pedig mindig is a szerveren maradt.
Ez amúgy szerintem a JS egyik nagy problémája.
Mivel a JS egy (jelentős) része kliens oldalon fut és lehetőség sincs a forrás védelmére vagy validálására, így maga a JS, mint platform rendkívül sebezhető. -
sztanozs
veterán
válasz
Mr Dini #6340 üzenetére
syntetic sugar:
var DATA = '';
function getPage(url) {
http.request.get(url).then(function (response) {
DATA = response;
console.log(response);
})
}
getPage('http://akarmi/');
while(DATA === '');
alert(DATA);Amúgy nem értem miért nem lehet az egész feldolgozást a then-be rakni, azt kész...
Új hozzászólás Aktív témák
Hirdetés
- Fujifilm X
- Mikrotik routerek
- Steam Deck
- Építő/felújító topik
- Luck Dragon: Asszociációs játék. :)
- Philips LCD és LED TV-k
- Sub-ZeRo: Euro Truck Simulator 2 & American Truck Simulator 1 (esetleg 2 majd, ha lesz) :)
- HiFi műszaki szemmel - sztereó hangrendszerek
- Mibe tegyem a megtakarításaimat?
- SSD kibeszélő
- További aktív témák...
- LG OLED G2 Eladó - 55 colos
- X1 Carbon 12th 14" FHD+ IPS Ultra 5 135U 16GB 512GB NVMe magyar vbill ujjlolv IR kam gar
- T14s Gen4 14" FHD+ IPS érintő Ryzen 5 PRO 7540U 16GB 256GB NVMe ujjlolv IR kam gar
- X1 Carbon 11th 14" FHD+ IPS i5-1345U 16GB 512GB NVMe ujjlolv IR kam gar
- Dell Latitude 5290, 12,5" HD, I5-8350U CPU, 8GB DDR4, 256GB SSD, WIN 11
- Samsung Galaxy A13 64GB, Kártyafüggetlen, 1 Év Garanciával
- ÁRGARANCIA! Épített KomPhone Ryzen 5 5500 16/32/64GB RAM RTX 4060 8GB GAMER PC termékbeszámítással
- Csere-Beszámítás! Lenovo Legion 5 White ! R5 5600H / RTX 3050Ti / 16GB / 500GB SSD
- BESZÁMÍTÁS! ASUS H87I-PLUS H87 chipset alaplap garanciával hibátlan működéssel
- Lenovo ThinkPad T14 3 Gen 16/256GB SSD, Újszerű, 1 Év Garanciával
Állásajánlatok
Cég: PC Trade Systems Kft.
Város: Szeged
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest