abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    včera 04:00 | Nová verze

    raylib (Wikipedie), tj. multiplatformní open-source knihovna pro vývoj grafických aplikací a her, byla vydána ve verzi 6.0.

    Ladislav Hagara | Komentářů: 0
    24.4. 18:33 | IT novinky

    Nové verze AI modelů. Společnost OpenAI představila GPT‑5.5. Společnost DeepSeek představila DeepSeek V4.

    Ladislav Hagara | Komentářů: 0
    24.4. 15:33 | Zajímavý článek

    Nová čísla časopisů od nakladatelství Raspberry Pi zdarma ke čtení: Raspberry Pi Official Magazine 164 (pdf) a Hello World 29 (pdf).

    Ladislav Hagara | Komentářů: 0
    24.4. 04:44 | Komunita

    Bylo oznámeno, že webový prohlížeč Opera GX zaměřený na hráče počítačových her je už také na Flathubu and Snapcraftu.

    Ladislav Hagara | Komentářů: 0
    23.4. 23:11 | IT novinky

    Akcionáři americké mediální společnosti Warner Bros. Discovery dnes schválili převzetí firmy konkurentem Paramount Skydance za zhruba 110 miliard dolarů (téměř 2,3 bilionu Kč). Firmy se na spojení dohodly v únoru. O část společnosti Warner Bros. Discovery dříve usilovala rovněž streamovací platforma Netflix, se svou nabídkou však neuspěla. Transakci ještě budou schvalovat regulační orgány, a to nejen ve Spojených státech, ale také

    … více »
    Ladislav Hagara | Komentářů: 0
    23.4. 22:33 | Nová verze

    Canonical vydal (email, blog, YouTube) Ubuntu 26.04 LTS Resolute Raccoon. Přehled novinek v poznámkách k vydání. Vydány byly také oficiální deriváty Edubuntu, Kubuntu, Lubuntu, Ubuntu Budgie, Ubuntu Cinnamon, Ubuntu Kylin, Ubuntu Studio, Ubuntu Unity a Xubuntu. Jedná se o 11. vydání s dlouhodobou podporou (LTS).

    Ladislav Hagara | Komentářů: 2
    23.4. 11:55 | Nová verze

    V programovacím jazyce Go naprogramovaná webová aplikace pro spolupráci na zdrojových kódech pomocí gitu Gitea (Wikipedie) byla vydána v nové verzi 1.26.0. Přehled novinek v příspěvku na blogu.

    Ladislav Hagara | Komentářů: 0
    23.4. 04:44 | Pozvánky

    Ve středu 29. dubna 2026 se v pražské kanceláři SUSE v Karlíně uskuteční 7. Mobile Linux Hackday, komunitní setkání zaměřené na Linux na mobilních zařízeních, kernelový vývoj i uživatelský prostor. Akce proběhne od 10:00 do večerních hodin. Hackday je určen všem zájemcům o praktickou práci s Linuxem na telefonech. Zaměří se na vývoj aplikací v userspace, například bankovní aplikace, zpracování obrazu z kamery nebo práci s NFC, i na úpravy

    … více »
    lkocman | Komentářů: 1
    22.4. 21:55 | Nová verze

    LilyPond (Wikipedie) , tj. multiplatformní svobodný software určený pro sazbu notových zápisů, byl vydán ve verzi 2.26.0. Přehled novinek v aktualizované dokumentaci.

    Ladislav Hagara | Komentářů: 0
    22.4. 20:33 | Nová verze

    Byla vydána nová verze 11.0.0 otevřeného emulátoru procesorů a virtualizačního nástroje QEMU (Wikipedie). Přispělo 237 vývojářů. Provedeno bylo více než 2 500 commitů. Přehled úprav a nových vlastností v seznamu změn.

    Ladislav Hagara | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (14%)
     (8%)
     (2%)
     (13%)
     (31%)
     (3%)
     (6%)
     (2%)
     (15%)
     (25%)
    Celkem 1420 hlasů
     Komentářů: 30, poslední 3.4. 20:20
    Rozcestník

    WYSIWYG editor online - 2 (formátovánie textu)

    11. 8. 2006 | Matej Gagyi | Programování | 8174×

    V minulej časti sme si vytvorili jednoduchý textový editor priamo na stránke. Dnes ho rozšírime o funkcie formátovania textu a editor samotný zaradíme do formuláru na stránke. Tiež sa oboznámime s niekoľkými nedostatkami editora Midas, ktoré nie je jednoduché riešiť.

    Formátovanie textu

    Aktivovanie editora nad HTML dokumentom sprístupní JavaScriptu štyri nové funkcie dokumentu: execCommand(), queryCommandEnabled(), queryCommandState(), queryCommandValue().

    Najdôležitejšou z týchto funkcií je execCommand(), ktorá formátuje text, vkladá do dokumentu obrázky a odkazy, vracia zmeny dokumentu (undo/redo), atď. Funkcia execCommand() očakáva 3 parametre:

    document.execCommand(command, userInterface, value)

    Argumenty funkcie execCommand():

    command
    Názov operácie, ktorú chceme vykonať. Niektoré operácie pracujú s označeným textom, niektoré s pozíciou textového kurzora a niektoré s celým dokumentom. Pozrite si tabuľku najdôležitejších operácií.
    userInterface
    Musí byť vždy false, inak funkcia vyhodí výnimku NS_ERROR_NOT_IMPLEMENTED.
    value
    Niektoré operácie vyžadujú dodatočný parameter. Napríklad ak vytvárame hypertextovy odkaz, ako parameter odovzdáme adresu, na ktorú má odkaz smerovať: document.execCommand('createlink', false, 'http://www.abclinuxu.cz');

    V praxi vykonáva funkcia execCommand() celú prácu za nás a nemusíme sa starať o nič iné, ako volanie tejto funkcie so správnymi argumentami. Rozšírme teda primitívny editor z minulej časti o niekoľko formátovacích funkcií:

    <html>
     <head>
      <title>Moj druhy WYSIWYG editor</title>
      <script type="text/javascript">
       var editor;
       function setup() {
        editor = document.getElementById('editor');
        editor.contentWindow.document.designMode='on';
       }
       function editor_alert() {
        alert(editor.contentWindow.document.body.innerHTML);
       }
       function editor_execCommand(command, value) {
        editor.contentWindow.document.execCommand(command, false, value);
       }
      </script>
     </head>
     <body onload="setup();">
      <p>Tento text nie je editovatelny... editujte obsah v ramci, prosim.</p>
      <iframe id="editor" src="template.html"></iframe>
      <p>Nastrojovy panel:</p>
      <ul>
       <li><a href="javascript: editor_alert();">
            Ukaz mi to HTML!</a></li>
       <li><a href="javascript: editor_execCommand('undo');">
            Undo</a></li>
       <li><a href="javascript: editor_execCommand('redo');">
            Redo</a></li>
       <li><a href="javascript: editor_execCommand('bold');">
            Tucne</a></li>
       <li><a href="javascript: editor_execCommand('italic');">
            Kurziva</a></li>
       <li><a href="javascript: editor_execCommand('underline');">
           Podskrtnute</a></li>
       <li><a href="javascript: editor_execCommand('strikethrough');">
           Preskrtnute</a></li>
       <li><a href="javascript: editor_execCommand('removeformat');">
           Normalne</a></li>
       <li><a href="javascript: editor_execCommand('formatblock', '<h1>');">
           Nadpis 1</a></li>
       <li><a href="javascript: editor_execCommand('formatblock', '<h2>');">
           Nadpis 2</a></li>
       <li><a href="javascript: editor_execCommand('formatblock', '<h3>');">
           Nadpis 3</a></li>
       <li><a href="javascript: editor_execCommand('formatblock', '<p>');">
           Odstavec</a></li>
      </ul>
     </body>
    </html>

    Pridali sme do hlavného dokumentu ďalšiu JavaScriptovú funkciu editor_execCommand(). Očakáva 2 argumenty, ale pri volaní tejto funkcie si môžeme dovoliť druhý argument vynechať. V JavaScripte to nie je chyba, v tele funkcie bude tento argument nastavený na hodnotu undefined a táto hodnota je takmer to isté ako hodnota null.

    Funkcia editor_execCommand() jednoducho volá funkciu execCommand() editovaného dokumentu a odovzdá mu svoje vlastné dva argumenty. Pridávať môžeme aj ďalšie funkcie z nasledujúcej tabuľky:

    Operácia Hodnota Popis
    undo   Vráti jednu zmenu v dokumente.
    redo   Znovu vykoná jednu vrátenú zmenu v dokumente.
    formatblock <h1>, <h2>, ..., <p>, <pre>, ... Uzavrie odstavec textu do zvoleného HTML tagu.
    insertimage adresa obrázku Vloží na dokument obrázok.
    removeformat   Odstráni všetky formátovacie HTML značky z označeného textu.
    createlink adresa Vytvorí z označeného textu hypertextový odkaz zo zvolenou adresou.
    unlink   Zmení hypertextový odkaz na text.

    Kompletný zoznam príkazov podporovaných editorom Midas nájdete na v špecifikácii Midasu. Príkazy MSHTML Editoru sa nachádzajú v knižnici MSDN - Command Identifiers.

    Odosielanie dokumentu na server

    Odoslať HTML dokument po upravení na server môžeme viacerými spôsobmi. Najjednoduchšie je dokument zakódovať do adresy dopytovanej webovej služby ako argument. To znamená, že ak sme umiestnili webovú službu, ktorá dokument prijme a spracuje na adresu http://example.com/service a dokument vyzerá takto:

    <h1>Ahoj svet!</h1><p>K&R napísali prvý
    unix?</p>

    tak pomocou JavaScriptu otvoríme v prehliadači adresu

    http://example.com/service?text=%3Ch1%3EAhoj%20svet!%3C%2Fh1%3E%3Cp%3EK% 26R%20nap%C3%ADsali%20prv%C3%BDunix%3F%3C%2Fp%3E

    Funkcia v JavaScripte

    function send_document(host) {
     window.location.href = host + '?html='
       + encodeURIComponent(editor.contentWindow.document.body.innerHTML);
    }

    Položka nástrojového panelu

    <li><a href="javascript: send_document('http://example.com/');">
      Odoslat na example.com</a></li>

    Záver

    Nabudúce si prejdeme ďalšie možnosti odosielania dokumentu na server. Ďalej si ukážeme trik, ktorým uložíme dokument z Firefoxu na disk. Nakoniec si povieme pár slov o ostatných prehliadačoch podporujúcich WYSIWYG editor.

           

    Hodnocení: 100 %

            špatnédobré        

    Nástroje: Tisk bez diskuse

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    Komentáře

    Vložit další komentář

    11.8.2006 09:13 Jirka
    Rozbalit Rozbalit vše Re: WYSIWYG editor online - 2 (formátovánie textu)
    Podle me je naprosty nesmysl vytvaret WYSIWYG editor ktery nesplnuje standard XHTML (strict). A to urcite pouziti tagu <a href="javascript: ma_se_pouzit_onclick()">javascript akce</a> nesplnuje! Ty standardy nejsou jen tak pro srandu kralikum. A vymluva, ze to splnuje standard HTML 4.01, je v dnesni dobe tak trochu mimo misu. Nevim o zadnem opravdu XHTML STRICT wysiwyg editoru, jehoz vystup by prosel validaci na w3c.org. Pokud nekdo vite, podelte se o zkusenosti.
    11.8.2006 12:56 Láďa
    Rozbalit Rozbalit vše Re: WYSIWYG editor online - 2 (formátovánie textu)
    Další spravedlivý hněv. Zkuste říct zákazníkovi, že má smůlu, protože to nesplňuje nějaké standardy, o kterých v životě neslyšel.
    11.8.2006 13:10 Stefan
    Rozbalit Rozbalit vše Re: WYSIWYG editor online - 2 (formátovánie textu)
    Takže když žádný neexistuje a nesmíme porušovat standardy tak nemůžete vytvářet žádné redakční systémy a tak na webu nic nebude. Co vlastně přesně je porušeno ve zde zmiňovaném tagu ? Standardy od W3C jsou pouze doporučení http://www.w3.org/2004/02/Process-20040205/tr#RecsW3C Je trochu problém v praxi používat doporučení které prohlížeče nesplňují. HTML 4.01 není nikde označeno jako nepoužitelné, takže i v dnešní době má své místo a prohlížeče ho podporují na rozdíl od XHTML
    11.8.2006 15:17 Platonix | skóre: 20 | blog: FUD: Férový Uživatelův Deníček
    Rozbalit Rozbalit vše Re: WYSIWYG editor online - 2 (formátovánie textu)
    Osobně se snažím standardy dodržovat, ale HTML 4.01 Transitional je taky standard, tak proč nepoužít ten?
    Když já tomu prostě nerozumím. Kdo si neváží svobody, je na půli cesty o ni přijít
    11.8.2006 15:18 Aleš Kapica | skóre: 52 | blog: kenyho_stesky | Ostrava
    Rozbalit Rozbalit vše Re: WYSIWYG editor online - 2 (formátovánie textu)
    Není to snad jedno? Podstatné je zda splnuje standard XHTML výsledný produkt - tedy hotová stránka.
    Yin avatar 18.8.2006 13:16 Yin | skóre: 39 | blog: Yinotopia | Slovesnko, Košice
    Rozbalit Rozbalit vše Re: WYSIWYG editor online - 2 (formátovánie textu)

    Kde v špecifikácii XHTML 1.0 STRICT sa píše, že URL v atribúte href nesmie mať protokol "javascript:"? Odporúča sa to, aby stroje vedeli, že po kliknutí na odkaz sa vykoná nejaký kód (aj tak im je to na figu).

    Môj anchor je odkaz na funkciu a je mi jedno, ako ju bude užívateľ spúšťať. Keby som použil atribúť onclick, musel by som vytvoriť aj CSS pre ten odkaz, aby každý pochopil, že na neho treba kliknúť.

    A vôbec, aký súvis má stránka s editorom s kódom, ktorý generuje? Veď si to kludne doma prepíšte podľa seba. A tento tutoriál vám má pomocť pochopiť tento druh editorov, aby ste si mohli vytvoriť vlastný generátor čistého XHTML kódu.

    Vidíte? teraz ste ma rozčúlil... a musim si zase prekompilovať jadro, aby som sa ukludnil!

    Nikdy nie je tak zle, aby to jeden poharik nemohol ešte zhorsiť.
    25.9.2006 22:57 miki
    Rozbalit Rozbalit vše Re: WYSIWYG editor online - 2 (formátovánie textu)
    No, existuje preci jeste reseni na strane serveru - kdyz javascript produkuje nevalidni kod, je sice narocnejsi vytvorit nejaky "opravovaci" parser, nicmene wysiwyg editor je tu vetsinou pro zakaznika, ne pro developera... takze se vlk nazere a koza zustane cela (kdyz neberu v potaz, ze to kozu musime nejdriv porodit .)
    14.10.2006 18:19 coolll.sk
    Rozbalit Rozbalit vše Re: WYSIWYG editor online - 2 (formátovánie textu)
    Neviete niekto ako sa da k takemu iframovemu editoru priradit subor so stylmy (CSS)?
    8.4.2007 18:28 Radke Novák
    Rozbalit Rozbalit vše Re: WYSIWYG editor online - 2 (formátovánie textu)
    Ahoj, je to opravdu moc pěkný tutoriál. Mnohé jsem z něho použil. Abych to mohl odesílat s ostatními daty formuláře udělal jsem funkci na uložení výsledného HTML opět do [textarea] který se odešle.

    Co ale netuším je, jak dostat HTML do námi vytvořeného wisiwig editoru. Respektive, když vlezu na stránku, kde budu mít ve skryté [textarea] kód HTML, aby se to načetlo do wisiwig editoru.

    Snad víš co mám na mysli.

    Díky moc

    Radek Novák
    8.4.2007 19:27 Radke Novák
    Rozbalit Rozbalit vše Re: WYSIWYG editor online - 2 (formátovánie textu)
    tak jsem na to přišel a to takto (nevím zdali to funguje i pro ostatní prohlížeče, nad tím budu bádat jindy):

    function vlozit_do_editoru() { document.getElementById('editor').contentWindow.focus(); document.getElementById('editor').contentWindow.document.selection.createRange().pasteHTML(document.getElementById('textarea_editor').value); }

    do iframe vložte metodu onload="vlozit_do_eidtoru();"

    toť vše
    18.4.2007 17:24 Smajchl | skóre: 39 | blog: Drzy_Nazory | Praha
    Rozbalit Rozbalit vše Re: WYSIWYG editor online - 2 (formátovánie textu)
    Uz se tesim na dalsi dil :-)
    My máme všechno co chcem, my máme dobrou náladu!
    12.6.2007 23:21 Petr
    Rozbalit Rozbalit vše Re: WYSIWYG editor online - 2 (formátovánie textu)
    Zdravim, ak zrobit aby pri createlink byla adresa prave ta ktoru omaznem?
    5.12.2007 23:08 Kudla
    Rozbalit Rozbalit vše Re: WYSIWYG editor online - 2 (formátovánie textu)
    Nemá někdo ňákej skriptík na editování tablek?? Nebo ňákej odkázek. Díky.
    29.12.2007 12:16 Martin
    Rozbalit Rozbalit vše Re: WYSIWYG editor online - 2 (formátovánie textu)
    Možná Vám pomůže tato ukázka:

    http://www.mozilla.org/editor/midasdemo/

    Založit nové vláknoNahoru

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.