Fórum > HTML > JavaScript - nečitelný soubor *.js - jak prohlížet/editovat

JavaScript - nečitelný soubor *.js - jak prohlížet/editovat

Autor: Dali
Datum: 3.10. 2010 17:03
Zdravím profíky přes JavaScript. Omlouvám se za hloupý dotaz, ale narazil jsem na zajímavou knihovnu pro genrování kalendáře ve formulářovém políčku http://www.itpro.cz/datedit/ , kde bych se rád podíval do kódu (souboru datedit.js), protože nevím, proč mi ujíždí políčka pro zadání času.

Soubor datedit.js je ale nejspíš nějak kompilován nebo komprimován? Běžně přece na JS soubory stačí obyčejný textový editor nebo PSPad... Existuje nějaký SW, jak kód převést do čitelného tvaru? Předem díky za jakýkoli tip :-).
Autor: Kit
Datum: 3.10. 2010 18:22
Soubor datedit.js je evidentně komprimován. Nejlepší (a nejsprávnější) by asi bylo kontaktovat autora.

Jinak se ten kód dá přečíst pomocí programu hexdump, ale úplně pohodlné to není.
Autor: Tomík
Datum: 3.10. 2010 19:06
Jak jsem koukal, tak kód není ani tak komprimován, ale spíše překódován. Na konci je uveden konverzní algoritmus, který to rozkóduje a pak spustí.
Takže kdo umí JS, tak si to může rozkódovat.
Autor: Dali
Datum: 4.10. 2010 17:50
Díky za nakopnutí. Teď koukám přes texťák, že jde opravdu o vzorec "O=..." a ten konec to při běhu rozkóduje. V PSPadu se to otevírá jako nějaký binární soubor, někdy není nad obyčejný TXT;-). 

Má to zakódování nějaký účel? Třeba zrychlení běhu? Nebo jde jen o ochranu před mě podobnýmy šťoury? Pokud dobře chápu licenci, mohu kód dle libosti používat i v komerčních aplikacích, upravovat, šířit...

Asi kód zkoumat nebudu, ale vedle rozhozených políček pro výběr hodin a minut jsem zjistil, že v Chrome se vůbec neukazuje tlačítko pro zapnutí kalendáře :-((. Asi mám něco blbě v CSS, v IE to chodí.
Autor: Kit
Datum: 4.10. 2010 18:28
Ohledně licence bych si nebyl tak jist. Chybí potřebné piktogramy. V tom případě vlastně platí téměř standardní copyright. To znamená, že v daném případě nesmíš upravovat kód. Můžeš ho však šířit a používat i v komerčních programech při dodržení uvedené podmínky doplnění komentáře.

Komprese JavaScriptu obvykle má za účel jeho zrychlení. Možná tou kompresí autor zamýšlel ochranu proti modifikaci. Můžeš se ho zeptat a případně navrhnout úpravu.
Autor: Tomík
Datum: 4.10. 2010 21:16
Tady bych ani neřekl, že by šlo o zrychlení. Místo, aby to hned spustil, tak to musí nejdřív všelijak rozkódovat, dát dohromady a nakonec přes eval spustit. Což dle mě zabere víc času. Takže účel je spíše "šťourací" mechanismus, kdy autor nechce, aby si kdokoli vzal jeho kód.
O zrychlení by se dalo říci tehdy, kdy kód bude čitelný, minimalistický a bez bílých znaků.
Autor: Ivo Skalický (www.itpro.cz)
Datum: 12.11. 2010 00:03
Jsem autorem Dateditu. To zakódování je komprese prostřednictvím http://www.bananascript.com/ a jejím účelem menší datový objem skriptu. Zdrojový kód v otevřené formě je k dispozici zde:
http://www.itpro.cz/datedit/datedit/datedit_src.js

Co se týče licence, tak stručně: dělejte si s tím, co chcete, pokud se vám to líbí, budu rád za link, pokud to někdo vylepší, nechť se neváhá podělit se :-)
Autor: Vítek
Datum: 16.12. 2019 09:13
Ikona kalendáře se mi zobrazí pouze, pokud není formulář předvyplněný (value=..), nebo pokud je vyplněné nevalidní datum. Chci se zeptat, jestli to je vlastnost, nebo mám něco špatně nastavené. Díky za odpověď
Tento web používá k poskytování služeb a analýze návštěvnosti soubory cookie. Používáním tohoto webu s tím souhlasíte. Další informace