Hirdetés

2024. május 11., szombat

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

(#9001) Taci válasza Mr. Y (#9000) üzenetére


Taci
addikt

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.

[ Szerkesztve ]

(#9002) Mr. Y válasza Taci (#9001) üzenetére


Mr. Y
senior tag
LOGOUT blog

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.

But who is watching the guardians?

(#9003) Taci válasza Mr. Y (#9002) üzenetére


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.

(#9004) Mr. Y válasza Taci (#9003) üzenetére


Mr. Y
senior tag
LOGOUT blog

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.

But who is watching the guardians?

(#9005) Mr. Y válasza Mr. Y (#9004) üzenetére


Mr. Y
senior tag
LOGOUT blog

Oké, a tab kiszedése már megvan (JSFiddle). Maradt az enter, amit a console.log-ban is elég furcsán jelez.

But who is watching the guardians?

(#9006) mandleee válasza Mr. Y (#9005) üzenetére


mandleee
tag

if (ttt == "\n") {
console.log("Új sor!");
}

(#9007) Mr. Y válasza mandleee (#9006) üzenetére


Mr. Y
senior tag
LOGOUT blog

Köszönöm, így már elfogadja. Lényegébenezt csináltam, csak nem így írva, ez lehetett a probléma.

Továbbiakban mindenkinek köszönöm a segítséget!

But who is watching the guardians?

(#9008) Taci válasza mandleee (#9006) üzenetére


Taci
addikt

És ugyanúgy a "\t"-re is beugrik a tab (mert a kódban valóban egy tabot nyomtál be (mármint Mr. Y) - bár kétségtelen, működött. :D ).

[ Szerkesztve ]

(#9009) Mr. Y


Mr. Y
senior tag
LOGOUT blog

Mellékes történet.
Azt tudja valaki, hogy ez miért nem működik? Magán a W3-on igen, de amint kimásolod onnan, már nem.

Taci: Lepróbáltam, igazad van.

[ Szerkesztve ]

But who is watching the guardians?

(#9010) martonx válasza Mr. Y (#9009) üzenetére


martonx
veterán

máshol is működnie kell

Én kérek elnézést!

(#9011) Mr. Y válasza martonx (#9010) üzenetére


Mr. Y
senior tag
LOGOUT blog

Tessék, módosítás nélkül.

But who is watching the guardians?

(#9012) sztanozs válasza Mr. Y (#9011) üzenetére


sztanozs
veterán

imhol

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

(#9013) Mr. Y válasza sztanozs (#9012) üzenetére


Mr. Y
senior tag
LOGOUT blog

Próbáltam Win10-en, nem működött. Most kipróbáltam MacOS-en, azon sem megy. Akkor nem értem...

But who is watching the guardians?

(#9014) Taci válasza sztanozs (#9012) üzenetére


Taci
addikt

Nem lehet, hogy az a szöveg még a W3-as oldalról került oda? :D 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.

(#9015) Mr. Y válasza Taci (#9014) üzenetére


Mr. Y
senior tag
LOGOUT blog

Köszönöm

But who is watching the guardians?

(#9016) Taci válasza Taci (#9014) üzenetére


Taci
addikt

Parancsolj: [link] (anno én is valahol stackoverflow-n találtam)

(#9017) Mr. Y válasza Taci (#9016) üzenetére


Mr. Y
senior tag
LOGOUT blog

Köszönöm, ez már működik nálam is

But who is watching the guardians?

(#9018) coco2


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

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

(#9019) cattus válasza coco2 (#9018) üzenetére


cattus
őstag

Írja a konzolban: TypeError: document.getElementByID is not a function

Ami neked kell, az a document.getElementById A kis- és nagybetűk számítanak.

[ Szerkesztve ]

Do the thing!

(#9020) coco2 válasza cattus (#9019) üzenetére


coco2
őstag

Oh bakker.. :D
Hálás köszönetem :R

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

(#9021) Mr. Y


Mr. Y
senior tag
LOGOUT blog

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ó?

[ Szerkesztve ]

But who is watching the guardians?

(#9022) Silεncε válasza Mr. Y (#9021) üzenetére


Silεncε
őstag

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?

[ Szerkesztve ]

(#9023) Mr. Y válasza Silεncε (#9022) üzenetére


Mr. Y
senior tag
LOGOUT blog

Nem, ez lesz az, köszönöm. Én kicsit másként próbáltam és úgy Nem volt jó :)

But who is watching the guardians?

(#9024) laracroft


laracroft
aktív 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 ;)

(#9025) Taci válasza laracroft (#9024) üzenetére


Taci
addikt

Én nem bonyolítanám, két for ciklussal oldanám meg. Összedobtam neked egy jsFiddle-t hozzá: [link] (konzolba ír - F12)

(#9026) laracroft válasza Taci (#9025) üzenetére


laracroft
aktív tag

Köszi ;)

(#9027) laracroft válasza Taci (#9025) üzenetére


laracroft
aktív tag

Köszi ;)

(#9028) laracroft


laracroft
aktív tag

Sziasztok
Kérnék még 1 segítséget :B
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 :R

(#9029) martonx válasza laracroft (#9028) üzenetére


martonx
veterán

igen, mihelyst az id egyedi lesz :)

Én kérek elnézést!

(#9030) Mr. Y válasza laracroft (#9028) üzenetére


Mr. Y
senior tag
LOGOUT blog

Úgy van, ahogy martonx írta. Class esetén vonatkozik az összesre, de azonos ID esetén csak az elsőre

[ Szerkesztve ]

But who is watching the guardians?

(#9031) laracroft válasza Mr. Y (#9030) üzenetére


laracroft
aktív tag

Köszi, akkor ezt hanyagolom ;)
.... viszont :B :B :B

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 :B :B :B

[ Szerkesztve ]

(#9032) cattus válasza laracroft (#9031) üzenetére


cattus
őstag

A focus out eventre lesz szükséged.

Do the thing!

(#9033) nevemfel válasza laracroft (#9031) üzenetére


nevemfel
senior tag

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.

[ Szerkesztve ]

Forget your troubles, c'mon get happy

(#9034) laracroft válasza nevemfel (#9033) üzenetére


laracroft
aktív tag

Viiii ;) Köszi

(#9035) Mr. Y


Mr. Y
senior tag
LOGOUT blog

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!

But who is watching the guardians?

(#9036) Taci válasza Mr. Y (#9035) üzenetére


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

(#9037) Mr. Y válasza Taci (#9036) üzenetére


Mr. Y
senior tag
LOGOUT blog

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

But who is watching the guardians?

(#9038) cattus válasza Mr. Y (#9037) üzenetére


cattus
őstag

Mondjuk ez elég nagy butaság, de a te esetedben teljesen jó a böngészőben ott lévő fetch API is, nem kell axios vagy más 3rd party könyvtár.

Do the thing!

(#9039) Mr. Y válasza cattus (#9038) üzenetére


Mr. Y
senior tag
LOGOUT blog

É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?

But who is watching the guardians?

(#9040) cattus válasza Mr. Y (#9039) üzenetére


cattus
őstag

Most visszaolvastam, ha a webszerveren lévő mappának a tartalmát akarod listázni, akkor arra van "beépített" megoldás, apache / nginx konfigot kell hozzá állítani [link]

A fetch szimplán egy HTTP kérést küld a meghatározott URL felé, majd visszaadja azt, ami jön válaszként.

Do the thing!

(#9041) lafaty80


lafaty80
őstag

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 checkmarx

Van erre ötlet vagy megoldás?

Cuccaim: https://kit.co/lafaty

(#9042) martonx válasza lafaty80 (#9041) üzenetére


martonx
veterán

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 :D

Én kérek elnézést!

(#9043) lafaty80 válasza martonx (#9042) üzenetére


lafaty80
őstag

Ok, értem.

Checkmarx integrates automated software security technologies into DevOps
A probléma, ami most kezdte el csak zavarni a rendszert: DOM-based vulnerabilities

jsfiddle a kódot most dobtam össze (ne a szerkezetét nézzétek :D ), 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 :D
:R

Cuccaim: https://kit.co/lafaty

(#9044) martonx válasza lafaty80 (#9043) üzenetére


martonx
veterán

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 :D (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.

Én kérek elnézést!

(#9045) lafaty80 válasza martonx (#9044) üzenetére


lafaty80
őstag

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.

Cuccaim: https://kit.co/lafaty

(#9046) martonx válasza lafaty80 (#9045) üzenetére


martonx
veterán

Egyetlen megoldás lehet, ahogy írtam is: a totális újraírás :(

Én kérek elnézést!

(#9047) nevemfel válasza lafaty80 (#9041) üzenetére


nevemfel
senior tag

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

[ Szerkesztve ]

Forget your troubles, c'mon get happy

(#9048) lafaty80 válasza nevemfel (#9047) üzenetére


lafaty80
őstag

Ezt írtam meg a support-nak én is, a válaszukat várom.

Cuccaim: https://kit.co/lafaty

(#9049) Silεncε válasza nevemfel (#9047) üzenetére


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?

(#9050) lanszelot


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? :W :W :W :W

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

[ Szerkesztve ]

Copyright © 2000-2024 PROHARDVER Informatikai Kft.