Van egy js függvényem, ami az oldallal együtt betöltődik, lecsekkolja, hogy amit kapott, az email címnek tűnik-e, és ha igen, lekérdezi a szerverről, hogy regisztrálva van-e. És van egy Sweetalert reg form, ami meghívja ezt a függvényt, ha a júzer tovább lép az email mezőről. Ez a kódrész így néz ki:
Az onreadystatechange nem csak akkor hivodik, amikor visszajott az adat a szervertol, hanem a keres kulonbozo allapotaiban is. Tehat ellenorizni kellene, hogy a readyState property == XMLHttpRequest.DONE es az se baj, ha a HTTP status 200. Ld:
Az az egyik gond, hogy a Swal.fire rendben lefut a jó adatokkal, de ami utána az if( respArr['icon'] === 'success' ){ blokkban van, sosem fut le. Tutira időzítési gondom van, mert ha az if blokk első sorába beteszek egy alert ( 1 )-et, egyből megtörténik minden más is a blokkon belül, nélküle meg nem. Nem kell, hogy az if bevárja a júzer okéra kattintását a Sweetalertben, tőlem egyből akkor is lefuthat, amikor megjön a válasz a szerverről.
A másik gond a működést látszólag nem érinti (a jsonban érkező adatokkal rendben megjelenik a Sweetalert popup), de a szerver (php) válaszára pl.:
Uncaught SyntaxError: JSON.parse: unexpected end of data at line 1 column 1 of the JSON data
...miközben minden json validator szerint tökre valid a json.Több helyen olvastam, hogy ez akkor jöhet elő, ha hiányoznak a vesszők a mezők közül, de ez itt nem áll fenn. A php a json előtt küld egy headert (de az elhagyása sem változtat semmin):
Régebbről összegyűlt már jónéhány JScript-es kódom, melyek zömében szövegfájlokat generálnak sablonok, paraméterek alapján, tehát főleg fileSystemObject-et és regex-et használnak WSH-on. De most már szeretném kényelmesebbé tenni valami GUI-val. Már néhány alap kontrolnak is örülnék (gombok, beviteli mezők, checkbox..). De ha popup menu vagy menubar, és file tallózó dialogbox is volna, az nekem kánaán. Régebb próbálkoztam a HTA-val már egyszer, de elég vacak benyomást keltett bennem akkor. Tud esetleg valaki valami értelmesebb megoldást erre?
Gugli barátomat kérdezgetem, de úgy látszik rosszul kérdezek.
Lehet. Pl. en sem ertem a kerdest. Mit akarsz lementeni, hova? Ha egy random oldal forrasat: pl jQueryvel: https://api.jquery.com/jquery.get/ Ha az aktualis ablak tartalmat: document.documentElement.outerHTML
(Pascal-t vagy delphi-t 15 éve nem használtam, így a lazarus nem lenne túl hatékony)
Más:
hogyan tudnám elmenteni a html tartalmát js segítségével?
Használtam a html anchor elemét, de az az eredeti fájlot tölti le.
Nekem az kéne, hogy a módosított tartalmat mentse.
Erre nyilván nem jó az anchor, mert az anchor sejtésem szerint egy létező fájlhoz kapcsolódik, a böngészőben lévő oldal pedig nem egy file. Gugli barátomat kérdezgetem, de úgy látszik rosszul kérdezek.
- akkor: bármelyik részletében is jobb bármelyik megoldásod, mint amely megoldásokat eddig ismertünk, a kódot így is, úgy is levadásszák; és amennyiben az kivételes megoldás, (ne aggódj) akkor téged is
- különben: nem történt semmi; semmi, ami miatt aggódnod kellene
Obfuscation, ezt értem, összezavarás, én is valami hasonlót gondoltam, de én inkább semmit nem csináló kódrészleteket tennék bele. És ennek a továbbfejlesztése, hogy a működő kódrészekben semmitmondó, illetve zavaró neveket használnék, ellenben sokatmondó elnevezéseket használnék a kamu / nem működő kódrészletekben. Ez amolyan terelés lenne.
3a: ezt megteheted, de a kodban valahol te is dekodolod a kodot, kezzel is meg fogja tudni tenni az, aki dekodolni akarja.
3b. ennek nem sok ertelme van, ld 3a
Igazabol aminek "haszna" van, az az obfuscation (+ minify). Az olyan azonositokkal, mint pl. i5671 es x8_42ag nehezebb kibogozni a kodbol, mi mire jo. Ettol fuggetlenul a kod reszei (ujra)felhasznalhatoak maradnak, csak megnehezitetted azt.
Ötleteket kérnék, bár saját elképzeléseim is vannak.
Írok egy viszonylag egyszerű játékprogramot, a kedvenc táblás társasjátékom lesz, de ebből a szempontból teljesen mindegy.
A lényeg, hogy javascriptben írom, többszáz soros program, azt szeretném, hogy mások ne tudják felhasználni a kódot.
Nem kereskedelmi célra szánom, igazából gyakorlati jelentősége nem nagyon van, de mégis szeretném sajátomnak tudni.
Azt nem tudom megakadályozni, hogy a felhasználó a saját gépére letöltse, de a felhasználást meg tudom nehezíteni vagy lehetetlenné tenni.
A következő módszereket találom megvalósíthatónak:
1. megoldás lehet, hogy az egész forráskódban a behúzásokat törlöm, majd az összes sorvége karaktert törlöm, így az egész egy sorba kerül és így olvashatatlan lesz. Azonban kis ügyeskedéssel olvashatóvá lehet tenni. (ez nem saját ötlet)
2. arra gondoltam, hogy teleszórom mindenféle szeméttel, ami a program működését nem változtatja meg, mégis sokkal nehezebben értelmezhető, ha vannak benne felesleges dolgok.
3.a. kódolom a program részleteit, pl. a saját függvényeket, futásidőben dekódolom azt, amelyre éppen szükség van
3.b. kódolás, de a kódolt programrészeket valahova elrejtem, mondjuk egy képfájl véghez toldom, vagy egy megadott helyre beszúrom, majd onnan olvasom ki, amikor szükséges
Én VBS -ben progrmozok . Tudom, elavult, már nem támogatják, meg mi, de most készülök JS-re átírni vagy egy 70 oldalas programot belőle . Ezért kicsit tájékozódtam a JS felől, de még nem merültem egészen bele . Nincs mindenre időm tőle .
Hova? Mert próbáltam beírni egy fadobozba meg egy papírdobozba, de nem működött.
Leírtam, hogy lövésem sincs a js-hez. Már előre megírt kódot használok.
Kérlek legközelebb ne írj mert én segítséget kértem nem egy ilyen idedobott valamit.
Csak egy kérdés: ha ismerem a css html kódolást és megírom akkor pont a none használata nem megy? Ha meg nem ismerem mit kezdjek avval a válaszoddal, hogy + none.