-
9100 - 9001
10361 - 10301 10300 - 10201 10200 - 10101 10100 - 10001 10000 - 9901 9900 - 9801 9800 - 9701 9700 - 9601 9600 - 9501 9500 - 9401 9400 - 9301 9300 - 9201 9200 - 9101 9100 - 9001 9000 - 8901 8900 - 8801 8800 - 8701 8700 - 8601 8600 - 8501 8500 - 8401 8400 - 8301 8300 - 8201 8200 - 8101 8100 - 8001 8000 - 6001 6000 - 4001 4000 - 2001 2000 - 1
-
Fórumok
LOGOUT - lépj ki, lépj be!
LOGOUT reakciók Monologoszféra FototrendGAMEPOD - játék fórumok
PC játékok Konzol játékok MobiljátékokMobilarena - 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 Nyomtatók, szkennerek Tabletek, E-bookok 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ésFÁ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
-
lanszelot
addikt
Hello,
Hogy tudom a function ban lévő "vmi" változót a function-on kívül használni?var vmi ="";function buton(e) {if (e.target.tagName == 'BUTTON') { vmi = e.target.id;}} -
Taci
addikt
Köszönöm a választ mindkettőtöknek.
-
nevemfel
senior tag
Na ez teljesen jogos.
Akkor módosítok én is. 
@nevemfel: De itt nem csak arról szól a dolog, hogy ha a "?v=1.0.0" lett cache-elve, akkor ha az a verzió át van írva bármi másra (tehát nem egyezik), akkor tölti le újra? Mármint a fájlokba ez nem néz bele, hogy abban milyen verzió van benne, hanem ez itt a html fájlban a változtatás csak kvázi egy flag, hogy halló, kliens, töltsd el újra.
Vagy rosszul használom?
A módszer ismert ( [link] ), a probléma meg az, hogy neked kell kézzel verzióznod az összes belinkelt forrásfájlt (css, js, img). Ha csak egy-két fájlról van szó, nem probléma, ha 15-ről, akkor, jó, ha sok szabadidőd van.
A másik lehetőség, hogy valami build toolt (pl. babel) használsz a css, js generáláshoz, ami megoldja, hogy ha a fájlok változnak, akkor a html-be beszúrt verziót automatikusan frissíti. De ez már haladó szint.
-
martonx
veterán
Na ez teljesen jogos.
Akkor módosítok én is. 
@nevemfel: De itt nem csak arról szól a dolog, hogy ha a "?v=1.0.0" lett cache-elve, akkor ha az a verzió át van írva bármi másra (tehát nem egyezik), akkor tölti le újra? Mármint a fájlokba ez nem néz bele, hogy abban milyen verzió van benne, hanem ez itt a html fájlban a változtatás csak kvázi egy flag, hogy halló, kliens, töltsd el újra.
Vagy rosszul használom?
Jól használod. @nevemfel csak azt jegyezte meg, hogy ez ugyan egy tök jó módszer, csak nagyon törékeny, mert nagyon könnyű elfelejteni a huszonyolcadik file-ban is átírni a verziószámot. Vagy pedig külön automatizmust érdemes rá készíteni.
A böngésző teljes url alapján cache-el. És ezt használja ki ez a módszer. Az már csak, nekünk embereknek fontos, hogy olvasmányos ?v=1.0.0 legyen az url vége. Ez itt lehetne ?myversion=kiskutya is a böngészőnek édesmindegy. Ezt becacheli, és amíg pontosan ugyanez az url kell, addig cacheből szedi elő, amit kell. Ennyi.
-
Taci
addikt
A kettőt összekombinálni is lehet ám

Pl. csak a html file-ra beállítani, hogy mindig töltse le a böngésző. A többi file-t pedig hagyni a böngésző a megadott verzió szám alapján eldöntse, hogy le kell-e töltenie.Mert a nálad lévő módszer tök jó, de mi van akkor, ha maga a html file cachelődött be a böngészőben? Akkor hiába raksz ki egy új html file-t, amiben megemelted a css, js verziókat, ha erről a böngésző mit sem fog tudni, és vígan használja az előző html-edet, benne a régi verziójú css, js hivatkozásokkal?

Na ez teljesen jogos.
Akkor módosítok én is. 
@nevemfel: De itt nem csak arról szól a dolog, hogy ha a "?v=1.0.0" lett cache-elve, akkor ha az a verzió át van írva bármi másra (tehát nem egyezik), akkor tölti le újra? Mármint a fájlokba ez nem néz bele, hogy abban milyen verzió van benne, hanem ez itt a html fájlban a változtatás csak kvázi egy flag, hogy halló, kliens, töltsd el újra.
Vagy rosszul használom?
-
nevemfel
senior tag
Javítsatok ki, ha tévedek,
de ezzel a megoldással ezeket a fájlokat újra és újra letölti a kliens. Tehát hiába nem változtattál semmit rajtuk 1 éve, a kliensek minden alkalommal újra és újra letöltik.
Persze ez a korlátlan adatforgalom világában már nem akkora probléma, de jó figyelni erre is.Itt a fórumon valamelyik topikban ajánlottá(to)k ezt a megoldást:
<link rel="stylesheet" href="/fajlmappa/style.css?v=1.0.0"><script src="/fajlmappa/javascript.js?v=1.0.0"></script>
stb.Ez a html kódban van, és amíg nem változtatsz a verziószámokon, nem tölti le újra, cache-ből használja, ha tudja. Ha változtatsz a fájlok tartalmán, akkor pedig itt is verziót emelsz, így a kliens az új verziót tölti le és használja.
Hátha ez (is) hasznos lehet.
Ez a módszer akkor jó, ha létezik valamiféle automatizmus a verziószám kezelésre. Kézzel elég macerás minden fájlt megfelelően verziózni, rádaásul könnyű elfelejteni.
-
martonx
veterán
Javítsatok ki, ha tévedek,
de ezzel a megoldással ezeket a fájlokat újra és újra letölti a kliens. Tehát hiába nem változtattál semmit rajtuk 1 éve, a kliensek minden alkalommal újra és újra letöltik.
Persze ez a korlátlan adatforgalom világában már nem akkora probléma, de jó figyelni erre is.Itt a fórumon valamelyik topikban ajánlottá(to)k ezt a megoldást:
<link rel="stylesheet" href="/fajlmappa/style.css?v=1.0.0"><script src="/fajlmappa/javascript.js?v=1.0.0"></script>
stb.Ez a html kódban van, és amíg nem változtatsz a verziószámokon, nem tölti le újra, cache-ből használja, ha tudja. Ha változtatsz a fájlok tartalmán, akkor pedig itt is verziót emelsz, így a kliens az új verziót tölti le és használja.
Hátha ez (is) hasznos lehet.
A kettőt összekombinálni is lehet ám

Pl. csak a html file-ra beállítani, hogy mindig töltse le a böngésző. A többi file-t pedig hagyni a böngésző a megadott verzió szám alapján eldöntse, hogy le kell-e töltenie.Mert a nálad lévő módszer tök jó, de mi van akkor, ha maga a html file cachelődött be a böngészőben? Akkor hiába raksz ki egy új html file-t, amiben megemelted a css, js verziókat, ha erről a böngésző mit sem fog tudni, és vígan használja az előző html-edet, benne a régi verziójú css, js hivatkozásokkal?

-
Taci
addikt
Hozz létre egy .htaccess fájlt a webroot könyvtárban (nálad ez nyilván nem a /var/www/html könyvtár, de hogy hol van, azt csak te tudhatod. Lényegében az a könyvtár, ahol a főoldal index.html van), ha még nincs, és másold bele ezt:
<FilesMatch "\.(html|htm|js|css|php)">FileETag NoneHeader unset ETagHeader set Cache-Control "max-age=0, no-cache, no-store, must-revalidate"Header set Pragma "no-cache"Header set Expires "Wed, 11 Jan 1984 05:00:00 GMT"</FilesMatch>A legelső sorban (FilesMatch) láthatod, hogy milyen nevű, illetve milyen kiterjesztésű fájlokra fog vonatkozni ez a kódrész.
A Header set direktíva azt eredményezi, hogy a webszerver minden egyes válaszába ezeket a fejléceket fogja belerakni.
A Header set Cache-Control egy cacheléssel kapcsolatos fejléc, ami arra utasítja a böngészőt, hogy ne cachelje az adott oldalt. A többi (Pragma, Expires) inkább csak régebbi böngészők miatt kell.
Javítsatok ki, ha tévedek,
de ezzel a megoldással ezeket a fájlokat újra és újra letölti a kliens. Tehát hiába nem változtattál semmit rajtuk 1 éve, a kliensek minden alkalommal újra és újra letöltik.
Persze ez a korlátlan adatforgalom világában már nem akkora probléma, de jó figyelni erre is.Itt a fórumon valamelyik topikban ajánlottá(to)k ezt a megoldást:
<link rel="stylesheet" href="/fajlmappa/style.css?v=1.0.0"><script src="/fajlmappa/javascript.js?v=1.0.0"></script>
stb.Ez a html kódban van, és amíg nem változtatsz a verziószámokon, nem tölti le újra, cache-ből használja, ha tudja. Ha változtatsz a fájlok tartalmán, akkor pedig itt is verziót emelsz, így a kliens az új verziót tölti le és használja.
Hátha ez (is) hasznos lehet.
-
martonx
veterán
-
lanszelot
addikt
Hozz létre egy .htaccess fájlt a webroot könyvtárban (nálad ez nyilván nem a /var/www/html könyvtár, de hogy hol van, azt csak te tudhatod. Lényegében az a könyvtár, ahol a főoldal index.html van), ha még nincs, és másold bele ezt:
<FilesMatch "\.(html|htm|js|css|php)">FileETag NoneHeader unset ETagHeader set Cache-Control "max-age=0, no-cache, no-store, must-revalidate"Header set Pragma "no-cache"Header set Expires "Wed, 11 Jan 1984 05:00:00 GMT"</FilesMatch>A legelső sorban (FilesMatch) láthatod, hogy milyen nevű, illetve milyen kiterjesztésű fájlokra fog vonatkozni ez a kódrész.
A Header set direktíva azt eredményezi, hogy a webszerver minden egyes válaszába ezeket a fejléceket fogja belerakni.
A Header set Cache-Control egy cacheléssel kapcsolatos fejléc, ami arra utasítja a böngészőt, hogy ne cachelje az adott oldalt. A többi (Pragma, Expires) inkább csak régebbi böngészők miatt kell.
Köszönöm szépen, működik, és értem is

-
nevemfel
senior tag
Hozz létre egy .htaccess fájlt a webroot könyvtárban (nálad ez nyilván nem a /var/www/html könyvtár, de hogy hol van, azt csak te tudhatod. Lényegében az a könyvtár, ahol a főoldal index.html van), ha még nincs, és másold bele ezt:
<FilesMatch "\.(html|htm|js|css|php)">FileETag NoneHeader unset ETagHeader set Cache-Control "max-age=0, no-cache, no-store, must-revalidate"Header set Pragma "no-cache"Header set Expires "Wed, 11 Jan 1984 05:00:00 GMT"</FilesMatch>A legelső sorban (FilesMatch) láthatod, hogy milyen nevű, illetve milyen kiterjesztésű fájlokra fog vonatkozni ez a kódrész.
A Header set direktíva azt eredményezi, hogy a webszerver minden egyes válaszába ezeket a fejléceket fogja belerakni.
A Header set Cache-Control egy cacheléssel kapcsolatos fejléc, ami arra utasítja a böngészőt, hogy ne cachelje az adott oldalt. A többi (Pragma, Expires) inkább csak régebbi böngészők miatt kell.
-
lanszelot
addikt
Elolvastam, de nem értem.
Nekem az jön le, hogy az az 7 pont js és css -hez való.
Nem tudom hol a html rész.
Ezért kérdeztem vissza.Nekem nincs ilyen könyvtár a szerveren: /var/www/html
var sincs, nem hogy www, pláne html nincs
és itt borult az egész, mert magyarázat az nincs. -
martonx
veterán
-
lanszelot
addikt
-
martonx
veterán
-
lanszelot
addikt
F5 nem frissíti, CTRL+F5 pedig igen.
Nem az a lényeg hogy hívják, hanme, hogy úgy működik.
De hiába a CTRL+F5, ha nem tudják hogyan kell."F5 reloads the page from server, but it uses the browser's cache for page elements like scripts, image, CSS stylesheets, etc, etc. But Ctrl + F5 , reloads the page from the server and also reloads its contents from server and doesn't use local cache at all."
-
Mr. Y
őstag
Hello,
Nekem nem a js file-t , vagya json-t kell frissíteni, hanme a html file-t.
Pl hozzá adok egy gombot, vagy a linket kicserélem, akkor jelenjen meg az új gomb, vagy az új link töltsön be, ne a régi.
Ehhez CTRL+F5-t kell mindenkinek nyomni, aki már egyszer megnyitotta.
De 70 felettiek, így azt se tudjak hol van a ctrl, vagy az f5.
Tehát nekem kell valahogy megoldani, es azért js, mert js -t nem kell frissíteni, hisz azt mindig szerverről hívja le.Egyfelől nézd meg más eszközön, mivel az ilyen jellegű műveleteknél elég kellene, hogy legyen az F5. Másfelől, a CTRL+F5-el nem sokra mész, ha a mélyfrissítésre gondolsz, az SHIFT+F5
-
lanszelot
addikt
-
martonx
veterán
Hello,
Nekem nem a js file-t , vagya json-t kell frissíteni, hanme a html file-t.
Pl hozzá adok egy gombot, vagy a linket kicserélem, akkor jelenjen meg az új gomb, vagy az új link töltsön be, ne a régi.
Ehhez CTRL+F5-t kell mindenkinek nyomni, aki már egyszer megnyitotta.
De 70 felettiek, így azt se tudjak hol van a ctrl, vagy az f5.
Tehát nekem kell valahogy megoldani, es azért js, mert js -t nem kell frissíteni, hisz azt mindig szerverről hívja le. -
lanszelot
addikt
Ilyet elvileg csak akkor csinálhat, ha include-olt JS, JSON és egyéb fájlokat tartalmaz. Azok nem szoktak frissülni.
Bár érdekes, hogy az én Weblapom háttéranyaga JSON fájlokból épül fel, mindig frissít, ha megnyitják, csak akkor nem, ha már meg van nyitva és úgy nyomnak egy sima F5-öt.
De ha magában az alap kódban változtatsz (HTML vagy PHP törzs), annak minden esetben frissülnie kellene. Kipróbáltad esetleg egyéb eszközökön?Hello,
Nekem nem a js file-t , vagya json-t kell frissíteni, hanme a html file-t.
Pl hozzá adok egy gombot, vagy a linket kicserélem, akkor jelenjen meg az új gomb, vagy az új link töltsön be, ne a régi.
Ehhez CTRL+F5-t kell mindenkinek nyomni, aki már egyszer megnyitotta.
De 70 felettiek, így azt se tudjak hol van a ctrl, vagy az f5.
Tehát nekem kell valahogy megoldani, es azért js, mert js -t nem kell frissíteni, hisz azt mindig szerverről hívja le. -
Mr. Y
őstag
Ilyet elvileg csak akkor csinálhat, ha include-olt JS, JSON és egyéb fájlokat tartalmaz. Azok nem szoktak frissülni.
Bár érdekes, hogy az én Weblapom háttéranyaga JSON fájlokból épül fel, mindig frissít, ha megnyitják, csak akkor nem, ha már meg van nyitva és úgy nyomnak egy sima F5-öt.
De ha magában az alap kódban változtatsz (HTML vagy PHP törzs), annak minden esetben frissülnie kellene. Kipróbáltad esetleg egyéb eszközökön? -
Silεncε
őstag
-
lanszelot
addikt
-
Silεncε
őstag
Chrome DevTools -> Networking -> Disable cache?
-
lanszelot
addikt
Hello,
Az oldalon a html-ben ha változtatok vmit akkor mindig CTRL+F5 -t kell használni, hogy ne a gépről olvassa a régit, és megjelenjen az új dolog.
Hogyan tudom azt megcsinálni, hogy minden betöltésnél a szerveren lévőt töltse be, ne a gépből olvassa? -
Taci
addikt
Valami ilyesmivel kellene kezdeni:
var elementTest = document.getElementById("test");elementTest.addEventListener("keyup", function(event) {if (event.keyCode === 188) {//vessző lett nyomva}}Innen szedtem ki, hogy a vessző keycode-ja a 188.
A keyup akkor "ugrik", ha felengeded a billentyűt. Ha neked már az is kell, amikor lenyomja, akkor az a keydown lesz.
-
cstomee
tag
Sziasztok!
Szeretnék megoldást kérni az alábbira, mert csak hasonlót találtam neten, de nem egyértelmű sajnos.
Adott egy<input type="text" id="test">terület, ahová szöveges bevitel szükséges. Szeretnék hozzá egy háttér JS-t, ami abban a pillanatban aktiválódik, amint lenyomásra került a "," vessző billentyű.
Például minden egyes "," lenyomása után jelenjen meg egyalert("megnyomtad a vessző billentyűt");. De ez csak akkor, ha abba az egy adott mezőbe történik a bevitel.Lehetséges ilyen?
Előre is köszönöm a válaszokat!
Ezekre keress rá: addEventListener, keydown, keycode
Valahogy így: jsFiddle -
Taci
addikt
Sziasztok!
Szeretnék megoldást kérni az alábbira, mert csak hasonlót találtam neten, de nem egyértelmű sajnos.
Adott egy<input type="text" id="test">terület, ahová szöveges bevitel szükséges. Szeretnék hozzá egy háttér JS-t, ami abban a pillanatban aktiválódik, amint lenyomásra került a "," vessző billentyű.
Például minden egyes "," lenyomása után jelenjen meg egyalert("megnyomtad a vessző billentyűt");. De ez csak akkor, ha abba az egy adott mezőbe történik a bevitel.Lehetséges ilyen?
Előre is köszönöm a válaszokat!
Van erre megoldásom a saját kódomból, amint saját gép közelében leszek, bemásolom.
Ahogy martonx is írta, key(-press, -up stb.) eseményekre működik. -
Mr. Y
őstag
Köszönöm mindketttöknek
-
nevemfel
senior tag
Sziasztok!
Szeretnék megoldást kérni az alábbira, mert csak hasonlót találtam neten, de nem egyértelmű sajnos.
Adott egy<input type="text" id="test">terület, ahová szöveges bevitel szükséges. Szeretnék hozzá egy háttér JS-t, ami abban a pillanatban aktiválódik, amint lenyomásra került a "," vessző billentyű.
Például minden egyes "," lenyomása után jelenjen meg egyalert("megnyomtad a vessző billentyűt");. De ez csak akkor, ha abba az egy adott mezőbe történik a bevitel.Lehetséges ilyen?
Előre is köszönöm a válaszokat!
Ha nincs szükség Internet Explorer kompatibilitásra, akkor a legegyszerűbb az input eventet használni:
<!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>Input Event Test</title></head><body><input type="text" id="input"><div id="log"></div><script>var input = document.getElementById("input");var log = document.getElementById("log");input.addEventListener("input", updateValue);function updateValue(e) {log.textContent = e.target.value;}</script></body></html> -
martonx
veterán
Sziasztok!
Szeretnék megoldást kérni az alábbira, mert csak hasonlót találtam neten, de nem egyértelmű sajnos.
Adott egy<input type="text" id="test">terület, ahová szöveges bevitel szükséges. Szeretnék hozzá egy háttér JS-t, ami abban a pillanatban aktiválódik, amint lenyomásra került a "," vessző billentyű.
Például minden egyes "," lenyomása után jelenjen meg egyalert("megnyomtad a vessző billentyűt");. De ez csak akkor, ha abba az egy adott mezőbe történik a bevitel.Lehetséges ilyen?
Előre is köszönöm a válaszokat!
Persze, erre vannak a keypress, keyup, keydown eventek.
-
Mr. Y
őstag
Sziasztok!
Szeretnék megoldást kérni az alábbira, mert csak hasonlót találtam neten, de nem egyértelmű sajnos.
Adott egy<input type="text" id="test">terület, ahová szöveges bevitel szükséges. Szeretnék hozzá egy háttér JS-t, ami abban a pillanatban aktiválódik, amint lenyomásra került a "," vessző billentyű.
Például minden egyes "," lenyomása után jelenjen meg egyalert("megnyomtad a vessző billentyűt");. De ez csak akkor, ha abba az egy adott mezőbe történik a bevitel.Lehetséges ilyen?
Előre is köszönöm a válaszokat!
-
coco2
őstag
Köszönöm a válaszokat, ennyiből már össze tudom legózni, ami kell

-
martonx
veterán
Ami példát w3-on találtam childnodes-ra, nem id stringeket adott vissza, amit használni tudnék, hanem a típusaikat írta ki, meg node-oknak nézi a whitespace-t meg hasonlókat művel. Egy id string tömb lenne jó. Mondjuk legyűjteni csak azokat a node-okat, amiknek null stringtől eltérő hosszúságú id-jaik vannak. Ha van egy referenciám valami element-re, le tudom kérdezni az id-ját?
element.id

-
coco2
őstag
Ami példát w3-on találtam childnodes-ra, nem id stringeket adott vissza, amit használni tudnék, hanem a típusaikat írta ki, meg node-oknak nézi a whitespace-t meg hasonlókat művel. Egy id string tömb lenne jó. Mondjuk legyűjteni csak azokat a node-okat, amiknek null stringtől eltérő hosszúságú id-jaik vannak. Ha van egy referenciám valami element-re, le tudom kérdezni az id-ját?
-
sztanozs
veterán
div_konténer.getElementsByTagName("div")
-
cattus
addikt
Az adott div children-jein vegigmesz egy rekurziv hivassal, es mindig listazod az aktualis node-ot.
-
nevemfel
senior tag
-
coco2
őstag
Sziasztok!
Létezik div-re valami inventory szerűség?
Van egy konténer div-em, tudom az id-ját. Van a konténerben halom másik div (van id-ja mindegyiknek). Szeretnék egy listát a konténerben lévő div-ekről. Bármi nyomravezetés jól jönne.
Előre is köszönöm.
-
lafaty80
addikt
Ez egy komoly biztonsági hibalehetőség egyébként, ha a forrás nem ellenőrzött (illetve a csatorna nem biztonságos), akkor bármilyen rosszindulatú tartalom beinjektálható így.
Vélelmezem, hogy
- a rendszerben valahogy meg lehet adni a trusted source-okat és utána nem sivít emiatt;
- a rendszer csak titkosított forrást (https, érvényes certificate-tel) fogad el trusted sourfce-nak.Most még annyit csináltam, hogy js oldalon készítettem egy külön htmlencode function-t, ami a json-os változó tartalmát kiszűri. Lehet választani hogy string vagy option vagy table a visszatérő érték, és ez alapján ő állítja elő kódot.
De már 10 napja várom a support válaszát, hogy az eddigiek közül melyik lehetne elfogadni... hát nem kapkodnak. -
sztanozs
veterán
Ok, értem.
Checkmarx integrates automated software security technologies into DevOps
A probléma, ami most kezdte el csak zavarni a rendszert: DOM-based vulnerabilitiesjsfiddle a kódot most dobtam össze (ne a szerkezetét nézzétek
), illetve a stackoverflow-ról szedtem egy escapeHTML megoldást, próbaképpen...
"data" lesz amit visszakapok, ez lehet ilyen formában, vagy json-ba ágyazva, igazából mindegy, ezért ezt használtam.Most nálam a sima .append van beállítva erre checkmarx ezt mondja nekem: "The application's $.post embeds untrusted data in the generated output with append"
Sajnos legtöbb esetben csak url címre és sima string-re találok megoldást, az én verziómra nem.
Az a hab a tortán, hogy konkrét megoldási lehetőséget sem ajánl fel checkmarx, csak a sebezhetőséget írja le, tehát nem tudom milyen módon tudnám a számára elfogadható megoldást megcsinálni
Bár nem fontos szerintem a program php-s, és a $.post() is egy php-t hív meg, onnan jön vissza az eredmény(data) ide.
Remélem így elég lesz/lehet
Ez egy komoly biztonsági hibalehetőség egyébként, ha a forrás nem ellenőrzött (illetve a csatorna nem biztonságos), akkor bármilyen rosszindulatú tartalom beinjektálható így.
Vélelmezem, hogy
- a rendszerben valahogy meg lehet adni a trusted source-okat és utána nem sivít emiatt;
- a rendszer csak titkosított forrást (https, érvényes certificate-tel) fogad el trusted sourfce-nak. -
martonx
veterán
Igen, bár tegyük hozzá, hogy nem csak harmadik féltől jöhetnek ártó kódok

Elég ha valaki location.href = 'myhackersite.url' user névvel regisztrál be, és a felületen megjelenítik a user nevet
Szóval persze biztonsági kockázat, de nem annyira ördögtől való (pláne nem a modern js frameworkök előtt) összerakni a html-t, saját backend hívásokból.
Ezért is írtam:
1. megoldás: újraírni a rendszert
2. checkmarx-nál 100% biztos vagyok, hogy lehet paraméterezni, hogy mire riasszon be, és mire ne. Ez esetben a fejlesztő, ha biztos benne, hogy ezek nem 3rd party url hívások, és kivédte, hogy nem kerülhet ártó szándékú js a saját adatbázisba, akkor igaziból nulla a kockázat. -
lafaty80
addikt
-
nevemfel
senior tag
-
martonx
veterán
Igazad van, az innerHTML sem biztonságos:
There is one built-in safeguard in place, though. Just injecting a script element won’t expose you to attacks, because the section of the DOM you’re injecting into has already been parsed and run.
// This won't executevar div = document.querySelector('#some-div');div.innerHTML = '<script>alert("XSS Attack");</script>';JavaScript that runs at a later time, though, will.
// This WILL rundiv.innerHTML = '<script deferred>alert("XSS Attack");</script>';// This will, toodiv.innerHTML = '<img src=x onerror="alert(\'XSS Attack\')">';Ez a megoldás viszont ígéretesnek tűnik:
If the third-party content is allowed to contain markup, a helper library like DOMPurify will remove any markup that’s not part of a secure whitelist before injecting it.
Hja, ezért is mondtam, hogy a checkmarx-nak igaza van, és más megoldás nincs, mint a régi kódot újraírni, vagy a checkmarx-ot rendesen felparaméterezni.
-
lanszelot
addikt
Hello,
Egy képnézegetőt csináltam, ami teljesen jól müködik.
De most bele raktam pár kepet, és nem jelennek meg a képek.
Ha más képeket rakok akkor semmi gond.
A kepekkel semmi gond.
VS Code Live serveren jól működik az oldal.
Csak ha feltöltöm a tárhelyre, akkor nem működik.
Nem lépi túl a tárhely keretet /infinity/
A képek max oldal hossza 1000px , tehát nem nagyok.
Amivel jól működik azok is ugyanekkorák.
Ha jobb klikk chome ban és console fül, ott ezt írja: Cross-Origin Read Blocking (CORB) blocked cross-origin response
Ha kicserélem a képeket, akkor ez a hiba megszűnik.
De a képekkel nincs baj.
Tárhelyen ott vannak a képek.
Mi a táltos manó lehet a gond?

/az oldalt sajnos nem tudom megosztani, édesanyám osztálytalálkozói, és sok személy van a képen nincs engedélyem leosztani/
Ami most eszembe jutott: a többi kép telefonnal van készítve.
Ezek amikkel baj van egy dvd -ről lett kimásolva, a dvd-n volt slider menü, de a képek könyvtárban voltak. Átméreteztem őket, de nem lehet, hogy a dvd valami akármit bele írt a képekbe, és az zavarja a CORB-t? Nem tudom van-e ilyen, csak agyalok mi lehet. Jpg képek.Megtaláltam a hibát: .JPG a file kiterjesztés, míg a többinel .jpg
-
nevemfel
senior tag
Igazad van, az innerHTML sem biztonságos:
There is one built-in safeguard in place, though. Just injecting a script element won’t expose you to attacks, because the section of the DOM you’re injecting into has already been parsed and run.
// This won't executevar div = document.querySelector('#some-div');div.innerHTML = '<script>alert("XSS Attack");</script>';JavaScript that runs at a later time, though, will.
// This WILL rundiv.innerHTML = '<script deferred>alert("XSS Attack");</script>';// This will, toodiv.innerHTML = '<img src=x onerror="alert(\'XSS Attack\')">';Ez a megoldás viszont ígéretesnek tűnik:
If the third-party content is allowed to contain markup, a helper library like DOMPurify will remove any markup that’s not part of a secure whitelist before injecting it.
-
nevemfel
senior tag
Lehetséges, bár leutóbbi emlékeim szerint nekünk pont az volt a problémánk, hogy innerHTML esetén a htmlbe belinkelt, vagy beágyazott script nem hajtódott végre. De már rég foglalkoztam a témával, szóval majd utánanézek ennek.
-
lanszelot
addikt
Hello,
Egy képnézegetőt csináltam, ami teljesen jól müködik.
De most bele raktam pár kepet, és nem jelennek meg a képek.
Ha más képeket rakok akkor semmi gond.
A kepekkel semmi gond.
VS Code Live serveren jól működik az oldal.
Csak ha feltöltöm a tárhelyre, akkor nem működik.
Nem lépi túl a tárhely keretet /infinity/
A képek max oldal hossza 1000px , tehát nem nagyok.
Amivel jól működik azok is ugyanekkorák.
Ha jobb klikk chome ban és console fül, ott ezt írja: Cross-Origin Read Blocking (CORB) blocked cross-origin response
Ha kicserélem a képeket, akkor ez a hiba megszűnik.
De a képekkel nincs baj.
Tárhelyen ott vannak a képek.
Mi a táltos manó lehet a gond?

/az oldalt sajnos nem tudom megosztani, édesanyám osztálytalálkozói, és sok személy van a képen nincs engedélyem leosztani/
Ami most eszembe jutott: a többi kép telefonnal van készítve.
Ezek amikkel baj van egy dvd -ről lett kimásolva, a dvd-n volt slider menü, de a képek könyvtárban voltak. Átméreteztem őket, de nem lehet, hogy a dvd valami akármit bele írt a képekbe, és az zavarja a CORB-t? Nem tudom van-e ilyen, csak agyalok mi lehet. Jpg képek. -
Silεncε
őstag
innerHTML propertyvel tudsz beágyazni html-t anélkül, hogy escapelni kellene, és a böngésző nem fogja végrehajtani a beágyazott scripteket.
Na várj, innerHTML esetén ugyanúgy lehetséges XSS, nem?
-
lafaty80
addikt
Ezt írtam meg a support-nak én is, a válaszukat várom.
-
nevemfel
senior tag
Sziasztok,
Belefutottam most egy idegesítő "hibába", checkmarx-nál.
Van pár tool, ahol jquery-s $.post() response-át betöltöm egy div-be.
Normál esetben ha csak szöveg jön vissza tettem bele encode-ot , azzal nincs is gond.
A gond ott kezdődik, hogy van olyan, hogy komplett táblázatot vagy form elemeket(select option részét) adom vissza. Ezt viszont bukom minden esetben, ha encode-olom pl.
.html() <- ehhez már encode kellene alapból.
.innerHTML() <- ez jó lenne nekem, de ezt meg checkmarx nem veszi figyelembe.
.append() <- ez is jó lenne nekem, de ezt sem veszi figyelembe a checkmarxVan erre ötlet vagy megoldás?
.innerHTML() <- ez jó lenne nekem, de ezt meg checkmarx nem veszi figyelembe.
Ez mit jelent, hogy "nem veszi figyelembe"?
innerHTML propertyvel tudsz beágyazni html-t anélkül, hogy escapelni kellene, és a böngésző nem fogja végrehajtani a beágyazott scripteket. -
martonx
veterán
Sajnos jelenleg ez a verzió van, és a support válaszát várom.
De jelenleg nálunk sok, az elődöm által írt tool megy ilyen és hasonló megoldással, tehát az újraírás az elkövetkező időszakban nem opció.
A kérdésem ide azért jött, hogy lehet-e megoldás js/jquery-ben, ha support nem fogja ignorálni a hibát.Egyetlen megoldás lehet, ahogy írtam is: a totális újraírás

-
lafaty80
addikt
Az a baj, hogy ez nem js kérdés.
Önmagában, amit vizsgálnak valóban tud biztonsági probléma lenni, azaz a hiba jelzésük korrekt.
Bármikor előfordulhat, hogy amit ily módon betöltesz, abban van valami vicces javascript.
Ezt ők nyilván nem is fogják tudni helyetted megoldani. Gondolnám, hogy valahogy lehet azért a checkmarx-ot paraméterezni, hogy mire riasszon be, és mire nem.Szóval a lehetőséeig szerintem az alábbiak:
1. újraírod a programodat, hogy abszolút ne használj ilyen js oldani utólagos kód betöltéseket
(pl. mindent server side renderelsz, vagy ezeréves jquery helyett elkezdesz modern frameworköket használni Vuejs/React/Angular)
2. felparaméterezed a checkmarxot / felveszed a supportjukkal a kapcsolatot, hogy ignorálja ezt a biztonsági hibát.Sajnos jelenleg ez a verzió van, és a support válaszát várom.
De jelenleg nálunk sok, az elődöm által írt tool megy ilyen és hasonló megoldással, tehát az újraírás az elkövetkező időszakban nem opció.
A kérdésem ide azért jött, hogy lehet-e megoldás js/jquery-ben, ha support nem fogja ignorálni a hibát. -
martonx
veterán
Ok, értem.
Checkmarx integrates automated software security technologies into DevOps
A probléma, ami most kezdte el csak zavarni a rendszert: DOM-based vulnerabilitiesjsfiddle a kódot most dobtam össze (ne a szerkezetét nézzétek
), illetve a stackoverflow-ról szedtem egy escapeHTML megoldást, próbaképpen...
"data" lesz amit visszakapok, ez lehet ilyen formában, vagy json-ba ágyazva, igazából mindegy, ezért ezt használtam.Most nálam a sima .append van beállítva erre checkmarx ezt mondja nekem: "The application's $.post embeds untrusted data in the generated output with append"
Sajnos legtöbb esetben csak url címre és sima string-re találok megoldást, az én verziómra nem.
Az a hab a tortán, hogy konkrét megoldási lehetőséget sem ajánl fel checkmarx, csak a sebezhetőséget írja le, tehát nem tudom milyen módon tudnám a számára elfogadható megoldást megcsinálni
Bár nem fontos szerintem a program php-s, és a $.post() is egy php-t hív meg, onnan jön vissza az eredmény(data) ide.
Remélem így elég lesz/lehet
Az a baj, hogy ez nem js kérdés.
Önmagában, amit vizsgálnak valóban tud biztonsági probléma lenni, azaz a hiba jelzésük korrekt.
Bármikor előfordulhat, hogy amit ily módon betöltesz, abban van valami vicces javascript.
Ezt ők nyilván nem is fogják tudni helyetted megoldani. Gondolnám, hogy valahogy lehet azért a checkmarx-ot paraméterezni, hogy mire riasszon be, és mire nem.Szóval a lehetőséeig szerintem az alábbiak:
1. újraírod a programodat, hogy abszolút ne használj ilyen js oldani utólagos kód betöltéseket
(pl. mindent server side renderelsz, vagy ezeréves jquery helyett elkezdesz modern frameworköket használni Vuejs/React/Angular)
2. felparaméterezed a checkmarxot / felveszed a supportjukkal a kapcsolatot, hogy ignorálja ezt a biztonsági hibát. -
lafaty80
addikt
Ok, értem.
Checkmarx integrates automated software security technologies into DevOps
A probléma, ami most kezdte el csak zavarni a rendszert: DOM-based vulnerabilitiesjsfiddle a kódot most dobtam össze (ne a szerkezetét nézzétek
), illetve a stackoverflow-ról szedtem egy escapeHTML megoldást, próbaképpen...
"data" lesz amit visszakapok, ez lehet ilyen formában, vagy json-ba ágyazva, igazából mindegy, ezért ezt használtam.Most nálam a sima .append van beállítva erre checkmarx ezt mondja nekem: "The application's $.post embeds untrusted data in the generated output with append"
Sajnos legtöbb esetben csak url címre és sima string-re találok megoldást, az én verziómra nem.
Az a hab a tortán, hogy konkrét megoldási lehetőséget sem ajánl fel checkmarx, csak a sebezhetőséget írja le, tehát nem tudom milyen módon tudnám a számára elfogadható megoldást megcsinálni
Bár nem fontos szerintem a program php-s, és a $.post() is egy php-t hív meg, onnan jön vissza az eredmény(data) ide.
Remélem így elég lesz/lehet
-
martonx
veterán
Sziasztok,
Belefutottam most egy idegesítő "hibába", checkmarx-nál.
Van pár tool, ahol jquery-s $.post() response-át betöltöm egy div-be.
Normál esetben ha csak szöveg jön vissza tettem bele encode-ot , azzal nincs is gond.
A gond ott kezdődik, hogy van olyan, hogy komplett táblázatot vagy form elemeket(select option részét) adom vissza. Ezt viszont bukom minden esetben, ha encode-olom pl.
.html() <- ehhez már encode kellene alapból.
.innerHTML() <- ez jó lenne nekem, de ezt meg checkmarx nem veszi figyelembe.
.append() <- ez is jó lenne nekem, de ezt sem veszi figyelembe a checkmarxVan erre ötlet vagy megoldás?
Szia!
Szólok, hogy nem azért nem válaszolunk, mert nem foglalkozunk a problémáddal, hanem mert nem küldtél példa jsfiddle / codepen kódot, amúgy meg szvsz rajtad kívül senkinek fingja sincs, hogy mi lehet az a checkmarx

-
lafaty80
addikt
Sziasztok,
Belefutottam most egy idegesítő "hibába", checkmarx-nál.
Van pár tool, ahol jquery-s $.post() response-át betöltöm egy div-be.
Normál esetben ha csak szöveg jön vissza tettem bele encode-ot , azzal nincs is gond.
A gond ott kezdődik, hogy van olyan, hogy komplett táblázatot vagy form elemeket(select option részét) adom vissza. Ezt viszont bukom minden esetben, ha encode-olom pl.
.html() <- ehhez már encode kellene alapból.
.innerHTML() <- ez jó lenne nekem, de ezt meg checkmarx nem veszi figyelembe.
.append() <- ez is jó lenne nekem, de ezt sem veszi figyelembe a checkmarxVan erre ötlet vagy megoldás?
-
Mr. Y
őstag
És egy JSON fájlok beolvasására használatos FETCH hogyan olvassa be, hogy hány darab és milyen nevű fájlok vannak egy adott mappában?
-
Mr. Y
őstag
Szia!
Direktben a JS szerintem nem fog tudni hozzáférni a szerveren lévő tartalomhoz. Ehhez kell a PHP és a JS közötti kapcsolódás (második része a kérdésednek).
Én erre az Axios-t használom: [link]
(Használhatsz Ajaxot is, de sokmindenre kell figyelni később, ha "élesben" akarnád használni, úgyhogy jobban jársz, ha már eleve az Axios-szal kezdesz. Ajax: [link] )Írnod kell egy .php szkriptet, ami listázza a mappa tartalmát, és ezt az adatot visszaadja Axios-on keresztül a JS-nek.
(Ha a -megfelelő- gép mellett leszek, segítek majd az Axios-ban, ha kell, addig nézd átt a linkelt oldalt, beszédesek a példák benne.)
Köszönöm a linkeket és a segítő szándékot, de ha ezen kívül nincs más opció, akkor hanyagolom. Alapelvem, hogy nem használok más által kidolgozott kódot.

-
Taci
addikt
Szia!
Direktben a JS szerintem nem fog tudni hozzáférni a szerveren lévő tartalomhoz. Ehhez kell a PHP és a JS közötti kapcsolódás (második része a kérdésednek).
Én erre az Axios-t használom: [link]
(Használhatsz Ajaxot is, de sokmindenre kell figyelni később, ha "élesben" akarnád használni, úgyhogy jobban jársz, ha már eleve az Axios-szal kezdesz. Ajax: [link] )Írnod kell egy .php szkriptet, ami listázza a mappa tartalmát, és ezt az adatot visszaadja Axios-on keresztül a JS-nek.
(Ha a -megfelelő- gép mellett leszek, segítek majd az Axios-ban, ha kell, addig nézd átt a linkelt oldalt, beszédesek a példák benne.)
-
Mr. Y
őstag
Sziasztok!
Van arra lehetőség, hogy egy általam meghatározott, a szerveremen lévő mappának a tartalmát kilistáztassam JS kóddal?
Továbbá lehetséges-e olyan, hogy JS kóddal elindítsak egy PHP kódot?Előre is köszönöm a válaszokat!
-
laracroft
senior tag
-
nevemfel
senior tag
Köszi, akkor ezt hanyagolom

.... viszont

Ugyanez a script megjelenít egy error span-t, ha ugyanazon számértéket talál a táblázatom numbers oszlopában. Az a bajom, hogy már beíráskor megteszi ezt, én pedig azt szeretném, ha csak akkor futna le, mikor átlépek egy másik mezőbe.
(Ez egy olyan táblázat, melynek első nyolc sorában van 1-8-ig terjedő szerkeszthető sorszám, utána meg a muksó annyi sort ad hozzá, amennyit szeretne. Ezért van az, hogy pl a 2. sor 11-re való átírása is hibát ad, mert már megtalálta az 1-es sorszámot egy sorral feljebb.
Ha ezt akkor ellenőrizné, mikor elhagyom a mezőt, akkor kiiiirály lenne. #9024)$('[name="sorszam[]"]').on("input", function () {
var value = $(this).val();
$('[name="sorszam[]"]')
.not(this)
.each(function () {
if ($(this).val() == value) {
document.getElementById("error").style.display = "";
}
});
});köszi

Használd a "change" eventet az "input" helyett. És ha már úgyis jqueryzel, a
document.getElementById("error").style.display = "";
helyett használhatsz$("#error").show();
-ot. -
cattus
addikt
Köszi, akkor ezt hanyagolom

.... viszont

Ugyanez a script megjelenít egy error span-t, ha ugyanazon számértéket talál a táblázatom numbers oszlopában. Az a bajom, hogy már beíráskor megteszi ezt, én pedig azt szeretném, ha csak akkor futna le, mikor átlépek egy másik mezőbe.
(Ez egy olyan táblázat, melynek első nyolc sorában van 1-8-ig terjedő szerkeszthető sorszám, utána meg a muksó annyi sort ad hozzá, amennyit szeretne. Ezért van az, hogy pl a 2. sor 11-re való átírása is hibát ad, mert már megtalálta az 1-es sorszámot egy sorral feljebb.
Ha ezt akkor ellenőrizné, mikor elhagyom a mezőt, akkor kiiiirály lenne. #9024)$('[name="sorszam[]"]').on("input", function () {
var value = $(this).val();
$('[name="sorszam[]"]')
.not(this)
.each(function () {
if ($(this).val() == value) {
document.getElementById("error").style.display = "";
}
});
});köszi

A focus out eventre lesz szükséged.
-
laracroft
senior tag
Köszi, akkor ezt hanyagolom

.... viszont

Ugyanez a script megjelenít egy error span-t, ha ugyanazon számértéket talál a táblázatom numbers oszlopában. Az a bajom, hogy már beíráskor megteszi ezt, én pedig azt szeretném, ha csak akkor futna le, mikor átlépek egy másik mezőbe.
(Ez egy olyan táblázat, melynek első nyolc sorában van 1-8-ig terjedő szerkeszthető sorszám, utána meg a muksó annyi sort ad hozzá, amennyit szeretne. Ezért van az, hogy pl a 2. sor 11-re való átírása is hibát ad, mert már megtalálta az 1-es sorszámot egy sorral feljebb.
Ha ezt akkor ellenőrizné, mikor elhagyom a mezőt, akkor kiiiirály lenne. #9024)$('[name="sorszam[]"]').on("input", function () {
var value = $(this).val();
$('[name="sorszam[]"]')
.not(this)
.each(function () {
if ($(this).val() == value) {
document.getElementById("error").style.display = "";
}
});
});köszi

-
Mr. Y
őstag
Sziasztok
Kérnék még 1 segítséget
Azt szeretném elérni, hogy Alert box 'okézása' után törölje a hibás input mezőt.
Az a baj, hogy hogy az input mezőimnek 'sorszam[ ]' az Id-je ezért nem a problémás mezőt törli, hanem az elsőt amit talál.document.getElementById('sorszam[]').value = "";
Ezt lehet orvosolni?
köszi
Úgy van, ahogy martonx írta. Class esetén vonatkozik az összesre, de azonos ID esetén csak az elsőre
-
martonx
veterán
Sziasztok
Kérnék még 1 segítséget
Azt szeretném elérni, hogy Alert box 'okézása' után törölje a hibás input mezőt.
Az a baj, hogy hogy az input mezőimnek 'sorszam[ ]' az Id-je ezért nem a problémás mezőt törli, hanem az elsőt amit talál.document.getElementById('sorszam[]').value = "";
Ezt lehet orvosolni?
köszi
igen, mihelyst az id egyedi lesz

-
laracroft
senior tag
Sziasztok
Kérnék még 1 segítséget
Azt szeretném elérni, hogy Alert box 'okézása' után törölje a hibás input mezőt.
Az a baj, hogy hogy az input mezőimnek 'sorszam[ ]' az Id-je ezért nem a problémás mezőt törli, hanem az elsőt amit talál.document.getElementById('sorszam[]').value = "";
Ezt lehet orvosolni?
köszi
-
laracroft
senior tag
-
laracroft
senior tag
-
Taci
addikt
Sziasztok
Van egy táblázatom, ahol szükséges a sorszám oszlopom mezőjének a szerkesztése is. Szeretném ha még elküldés előtt jelezne, ha duplikált sorszámot használnak a táblázat sorszám oszlopában.
előre is köszi
Én nem bonyolítanám, két for ciklussal oldanám meg. Összedobtam neked egy jsFiddle-t hozzá: [link] (konzolba ír - F12)
-
laracroft
senior tag
Sziasztok
Van egy táblázatom, ahol szükséges a sorszám oszlopom mezőjének a szerkesztése is. Szeretném ha még elküldés előtt jelezne, ha duplikált sorszámot használnak a táblázat sorszám oszlopában.
előre is köszi
-
Mr. Y
őstag
-
Silεncε
őstag
Sziasztok!
JSON-ben jártasokhoz fordulnék. Van egy parancs:
n = Object.keys(data).length;, ami képes lekérdezni a tömb csoportjainak darabszámát. Azonban van-e arra mód, hogyha így néz ki a fájl:{
"name": "Tranzisztor",
"type": "Electronic accessories",
"keys": ["tranzisztor", "tranyó", "elektronika", "alkatrész"]
}Akkor ebből le tudja kérdezni, hogy a keys alatt hány elem található?
data.keys.length? Ha jól értem, mit szeretnél. Vagy azt szeretnéd, hogy a JSON key-einek a száma + az array elemeinek a száma?
-
Mr. Y
őstag
Sziasztok!
JSON-ben jártasokhoz fordulnék. Van egy parancs:
n = Object.keys(data).length;, ami képes lekérdezni a tömb csoportjainak darabszámát. Azonban van-e arra mód, hogyha így néz ki a fájl:{
"name": "Tranzisztor",
"type": "Electronic accessories",
"keys": ["tranzisztor", "tranyó", "elektronika", "alkatrész"]
}Akkor ebből le tudja kérdezni, hogy a keys alatt hány elem található?
-
coco2
őstag
-
cattus
addikt
Sziasztok!
Szöveget szeretnék kirakni valamiben weblapra, amit js-ből átírnék. Környezet: desktop chrome utolsó verzió.
A leegyszerűsített példa így néz ki. Az első alert megérkezik, a második már nem, és nem írja át a szöveget. Mi a baj a <span> innerHTML-jével? Miért crashel az átíró script?
Köszönöm
Írja a konzolban: TypeError: document.getElementByID is not a function
Ami neked kell, az a
document.getElementByIdA kis- és nagybetűk számítanak. -
coco2
őstag
Sziasztok!
Szöveget szeretnék kirakni valamiben weblapra, amit js-ből átírnék. Környezet: desktop chrome utolsó verzió.
A leegyszerűsített példa így néz ki. Az első alert megérkezik, a második már nem, és nem írja át a szöveget. Mi a baj a <span> innerHTML-jével? Miért crashel az átíró script?
Köszönöm
-
Mr. Y
őstag
-
Taci
addikt
Nem lehet, hogy az a szöveg még a W3-as oldalról került oda?
Mert nekem sem megy a jsfiddle-ről. Először nekem is ott volt a szöveg, aztán arra gondoltam, lehet, csak a W3-as vágólapos másolásról, szóval másoltam valami más szöveget rá, aztán vissza a jsfiddle-be, és az előzőleg másolt tartalmat illeszti be vágólapról.@Mr. Y: Nekem pont van ilyen fícsör a weblapon, működik is szépen, bemásolom majd, amint gépközelben leszek.
Parancsolj: [link] (anno én is valahol stackoverflow-n találtam)
-
Mr. Y
őstag
Nem lehet, hogy az a szöveg még a W3-as oldalról került oda?
Mert nekem sem megy a jsfiddle-ről. Először nekem is ott volt a szöveg, aztán arra gondoltam, lehet, csak a W3-as vágólapos másolásról, szóval másoltam valami más szöveget rá, aztán vissza a jsfiddle-be, és az előzőleg másolt tartalmat illeszti be vágólapról.@Mr. Y: Nekem pont van ilyen fícsör a weblapon, működik is szépen, bemásolom majd, amint gépközelben leszek.
Köszönöm
-
Taci
addikt
Nem lehet, hogy az a szöveg még a W3-as oldalról került oda?
Mert nekem sem megy a jsfiddle-ről. Először nekem is ott volt a szöveg, aztán arra gondoltam, lehet, csak a W3-as vágólapos másolásról, szóval másoltam valami más szöveget rá, aztán vissza a jsfiddle-be, és az előzőleg másolt tartalmat illeszti be vágólapról.@Mr. Y: Nekem pont van ilyen fícsör a weblapon, működik is szépen, bemásolom majd, amint gépközelben leszek.
-
Mr. Y
őstag
-
Mr. Y
őstag
-
martonx
veterán
-
Mr. Y
őstag
-
Taci
addikt
-
Mr. Y
őstag
-
mandleee
tag
-
Mr. Y
őstag
Annyi a pontosítás kedvéért, hogy nem input hanem textarea. A másik pedig, hogy számomra fontos, hogy a bemásolt szöveg tartalmazza az új sorokat és a tabokat, mert azok határolják nekem a szöveget, így azzal szeretnék dolgozni. Egyelőre az eddig linkelt dolgokkal nem értem el eredményt, de próbálkozom.
Oké, a tab kiszedése már megvan (JSFiddle). Maradt az enter, amit a console.log-ban is elég furcsán jelez.
-
Mr. Y
őstag
Hmm. Én a tabokat kiszedem, így arra a trim()-et használom, és nem direktben azt keresem. Az input mezőt pedig csak egy sorosra állítottam (kereséshez), így nincs új sor (bemásolva sem).
De az előzőben leírtakat találok máshol is: [link]
enteredText = textareaVariableName.val();numberOfLineBreaks = (enteredText.match(/\n/g)||[]).length;characterCount = enteredText.length + numberOfLineBreaks;De ezt tényleg ki kell próbálni. Remélhetőleg ezek közül valamelyikkel működni fog.
Annyi a pontosítás kedvéért, hogy nem input hanem textarea. A másik pedig, hogy számomra fontos, hogy a bemásolt szöveg tartalmazza az új sorokat és a tabokat, mert azok határolják nekem a szöveget, így azzal szeretnék dolgozni. Egyelőre az eddig linkelt dolgokkal nem értem el eredményt, de próbálkozom.
-
Taci
addikt
Hmm. Én a tabokat kiszedem, így arra a trim()-et használom, és nem direktben azt keresem. Az input mezőt pedig csak egy sorosra állítottam (kereséshez), így nincs új sor (bemásolva sem).
De az előzőben leírtakat találok máshol is: [link]
enteredText = textareaVariableName.val();numberOfLineBreaks = (enteredText.match(/\n/g)||[]).length;characterCount = enteredText.length + numberOfLineBreaks;De ezt tényleg ki kell próbálni. Remélhetőleg ezek közül valamelyikkel működni fog.
-
Mr. Y
őstag
Az első részhez próbáld ki a charAt() függvényt. [link]
A másodiknál a forrástól is függ, mit kellene használnod, mert nem mindegy, hogyan szerepel benne az új sor.
Esetleg RegExp?
Tab: [link]
New line: [link]De új sor lehet még a \n, \r, vagy a \n\r is, nem is beszélve a <br>-ről.
Vagy ezek olyan dolgok, amiket te is kipróbáltál már? Csak mert az első pár Google-találat.
Nem volt még alkalmam próbálni, így megnézem ezeket, hátha. A lényeg, hogy pl nyitsz egy jegyzettömböt, írsz bele pár dolgot, nyomsz pár tabot és pár entert, majd ezt a szöveget kimásolod és beilleszted az input mezőbe.
-
Taci
addikt
Sziasztok!
Ha eddig egy adott szöveges változó tartalmából ki akartam nyerni egy-egy részletet, azt a következőképpen tettem:
value.slice(6,-5)
Azonban szeretném a váltózó tartalmából egyetlen karakterre egy lekérdezést. Tehát ha adott egy<div id="valtozo">Kecske</div>, és nekem ebből kell a második karakter, akkor oda valam ilyesmi:get(valtozo[1]);. Csak persze működőképesben
Illetve ide tartozó kérdés, amiért egyáltalán kellene ez nekem. Ez egy input változó, amibe be kell másolni egy iratot, amit aztán karakterenként lebontva csinálja azt, amit kell. Csakhogy, a bemásolandó dokumentumok tartalmaznak tabulátort (behúzás) és entert (új sor) is. Ha a szövegben ilyeneket talál, akkor el kell végezie egy mellékes rutint.
Az addig oké, hogy kell rá egy feltételt tenni, plif(character == "") {name = "Kati néni";}, a kérdés az, hogy mi kerül az idézőjelek közé (vagy helyére) új sor, illetve tabulátor találásakor.Van ezekre (főként utobbira) lehetőség?
Előre is köszönöm a válaszokat!Az első részhez próbáld ki a charAt() függvényt. [link]
A másodiknál a forrástól is függ, mit kellene használnod, mert nem mindegy, hogyan szerepel benne az új sor.
Esetleg RegExp?
Tab: [link]
New line: [link]De új sor lehet még a \n, \r, vagy a \n\r is, nem is beszélve a <br>-ről.
Vagy ezek olyan dolgok, amiket te is kipróbáltál már? Csak mert az első pár Google-találat.
Új hozzászólás Aktív témák
-
9100 - 9001
10361 - 10301 10300 - 10201 10200 - 10101 10100 - 10001 10000 - 9901 9900 - 9801 9800 - 9701 9700 - 9601 9600 - 9501 9500 - 9401 9400 - 9301 9300 - 9201 9200 - 9101 9100 - 9001 9000 - 8901 8900 - 8801 8800 - 8701 8700 - 8601 8600 - 8501 8500 - 8401 8400 - 8301 8300 - 8201 8200 - 8101 8100 - 8001 8000 - 6001 6000 - 4001 4000 - 2001 2000 - 1
-
Fórumok
LOGOUT - lépj ki, lépj be!
LOGOUT reakciók Monologoszféra FototrendGAMEPOD - játék fórumok
PC játékok Konzol játékok MobiljátékokMobilarena - 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 Nyomtatók, szkennerek Tabletek, E-bookok 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ésFÁ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
- BestBuy topik
- Nintendo Switch 2
- A Linux megnégyszerezte magát a Steamen — a Microsoft ismét ígérget
- Arc Raiders
- Fejhallgató erősítő és DAC topik
- AMD vs. INTEL vs. NVIDIA
- Samsung kuponkunyeráló
- Először kombinálja a Full HD-t az 1000 Hz-cel egy monitor
- AMD Navi Radeon™ RX 9xxx sorozat
- Samsung Galaxy S26 Ultra - fontossági sorrend
- További aktív témák...
- 24 magos AMD Threadripper alapú munkára kiváló félgép, 128GB RAM-mal
- HP ZBook Fury 15 G7 i7-10850H 32GB 512GB SSD Quadro T2000 4GB FHD HUN bill, szép állapotban eladó
- Eladó MacBook Pro 16,1 2019 CTO
- új 0 km es garanciás lenovo loq rtx 5050 8gb
- Eladó teljesen újszerű karcmentes Samsung Galaxy Watch Ultra
- 5G LTE! Whitespotos, Microsoft Surface Pro 8 i7-1185G7 16GB 512GB 1 év garancia
- Dell Inspiron 5441 Snapdragon X Plus / 16GB 512SSD/ AI PC Brutál akkuidő
- GAMING PC! i5-12400F / RTX 5060 / 32GB DDR5 / 512GB NVMe / 600w! BeszámítOK
- DDR5 8/ 16/ 32GB 4800-5600MHz UDIMM PC RAM, több db- számla, garancia
- Lenovo Yoga 7i - 14" WUXGA OLED Érintő - Ultra 5 125H - 16GB - 1TB - Win11 - 1 év garancia
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Akkor módosítok én is.

Köszi
