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í
×
    dnes 12:22 | Zajímavý software

    V reakci na nepopulární plán Microsoftu ještě více ve Windows prohloubit integraci umělé inteligence Copilot, Opera na sociální síti 𝕏 oznámila, že připravuje nativní linuxovou verzi prohlížeče Opera GX. Jedná se o internetový prohlížeč zaměřený pro hráče, přičemž obsahuje všechny základní funkce běžného prohlížeče Opera. Kromě integrace sociálních sítí prohlížeč například disponuje 'omezovačem', který umožňuje uživatelům omezit využití sítě, procesoru a paměti prohlížečem, aby se tak šetřily systémové zdroje pro jinou aktivitu.

    NUKE GAZA! 🎆 | Komentářů: 0
    dnes 06:22 | Zajímavý software

    NVIDIA vydala nativního klienta své cloudové herní služby GeForce NOW pro Linux. Zatím v beta verzi.

    Ladislav Hagara | Komentářů: 0
    dnes 04:33 | Zajímavý projekt

    Open Gaming Collective (OGC) si klade za cíl sdružit všechny klíčové projekty v oblasti linuxového hraní počítačových her. Zakládajícími členy jsou Universal Blue a Bazzite, ASUS Linux, ShadowBlip, PikaOS a Fyra Labs. Strategickými partnery a klíčovými přispěvateli ChimeraOS, Nobara, Playtron a další. Cílem je centralizovat úsilí, takže namísto toho, aby každá distribuce udržovala samostatné opravy systému a podporu hardwaru na

    … více »
    NUKE GAZA! 🎆 | Komentářů: 0
    dnes 04:11 | Bezpečnostní upozornění

    V kryptografické knihovně OpenSSL bylo nalezeno 12 zranitelností. Opraveny jsou v upstream verzích OpenSSL 3.6.1, 3.5.5, 3.4.4, 3.3.6 a 3.0.19. Zranitelnosti objevila společnost AISLE pomocí svého autonomního analyzátoru.

    Ladislav Hagara | Komentářů: 0
    včera 20:11 | Zajímavý software

    Desktopové prostředí Xfce bude mít vlastní kompozitor pro Wayland s názvem xfwl4. V programovacím jazyce Rust s využitím stavebních bloků z projektu Smithay jej napíše Brian Tarricone. Úprava stávajícího xfwm4 tak, aby paralelně podporoval X11 i Wayland, se ukázala jako špatná cesta.

    Ladislav Hagara | Komentářů: 2
    včera 19:11 | Komunita

    Desktopové prostředí KDE Plasma 6.8 poběží už pouze nad Waylandem. Vývojáři, kteří s rozhodnutím nesouhlasí, vytvořili fork KDE Plasma s názvem SonicDE (Sonic Desktop Environment) s cílem zachovat a vylepšovat podporu X11.

    Ladislav Hagara | Komentářů: 4
    včera 12:22 | Nová verze

    Byla vydána nová stabilní verze 7.8 dnes již jedenáctiletého webového prohlížeče Vivaldi (Wikipedie). Postavena je na Chromiu 144. Přehled novinek i s náhledy v příspěvku na blogu.

    Ladislav Hagara | Komentářů: 7
    včera 10:33 | Nová verze

    GNU gettext (Wikipedie), tj. sada nástrojů pro psaní vícejazyčných programů, dospěl do verze 1.0. Po více než 30 letech vývoje. Přehled novinek v souboru NEWS.

    Ladislav Hagara | Komentářů: 1
    včera 05:11 | IT novinky

    Chris Kühl (CEO), Christian Brauner (CTO) a Lennart Poettering (Chief Engineer) představili svou společnost Amutable. Má přinést determinismus a ověřitelnou integritu do linuxových systémů.

    Ladislav Hagara | Komentářů: 13
    28.1. 20:11 | Nová verze

    Byla vydána (𝕏) nová verze 26.1 open source firewallové a routovací platformy OPNsense (Wikipedie). Jedná se o fork pfSense postavený na FreeBSD. Kódový název OPNsense 26.1 je Witty Woodpecker. Přehled novinek v příspěvku na fóru.

    Ladislav Hagara | Komentářů: 2
    Které desktopové prostředí na Linuxu používáte?
     (17%)
     (6%)
     (0%)
     (10%)
     (24%)
     (3%)
     (5%)
     (2%)
     (12%)
     (32%)
    Celkem 677 hlasů
     Komentářů: 22, poslední včera 23:06
    Rozcestník

    Předávání hodnot mezi okny v Javascriptu

    13.4.2006 16:38 | Přečteno: 1510× | Jen tak

    Dneska jsem se z blogy rozjel :-D. Ale tohle si prostě zapsat musím, protože mi řešení zabralo poměrně dlouho a navíc nejsem kovaný v Javascriptu (respektive v rozdílech mezi jednotlivými prohlížeči).

    O co jde. Máme okno A, ze kterého otevřeme (pomocí JS) okno B. V okně B je jistý dlouhý seznam a okno B poskytuje funkce jako filtrování, hledání, řazení a podobné. Když je uživatel spokojen a vybere nějaký prvek, je třeba nějakým způsobem vrátit jeho identifikaci zpět do okna A. Celá webová aplikace bude nejčastěji používána v MSIE, ale vývoj probíhá na Firefoxu (WebDeveloper, HTML Validator, Tamper Data a spol jen tak nenahradíš), proto je nezbytné, aby uvedená věc fungovala i v něm (jinak se odřízneme :-D).

    Máme soubor caller.html, který poskutuje funkci update, kterou volá funkce z druhého souboru dialog.html. Hned prvním problémem je otevření modálního dialogu, kterouž funkci poskytuje jen IE. Mozilla based prohlížeče používají parametr modal=yes funce window.open(). Takže se nám kód hezky rozdvojí (a čert ví, jak tohle zvládnou ostatní prohlížeče).

    function modalWin(url) {
        if (window.showModalDialog) { // IE
            window.showModalDialog(url,window,
                    "dialogWidth:255px;dialogHeight:250px");
        }
        else { // non IE ... zalomeno
            window.open(url,window,
    'height=255,width=250,toolbar=no,directories=no,
    status=no,menubar=no,scrollbars=no,
    resizable=no,modal=yes');
        }
    }
    
    function update(text) {
        document.getElementById("spam").innerHTML = text;
    }
    

    Zpětná cesta byla horší, protože většina návodů řešila situaci pouze v jediném správném prohlížeči, který neumí korektně pracovat s png obrázky. Nakonec jsem našel nápovědu na w3schools.com a po pár pokusech ze mě vypadlo tohle

    function getInfo() {
        var win;
        if (window.dialogArguments) {
            win = window.dialogArguments;
        }
        else {
            win = window.opener;
        }
        win.update('Zmeneny text!');
    }
    

    Laskavý čtenář si potřebný HTML kód jistě doplní sám :-).

           

    Hodnocení: 33 %

            špatnédobré        

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

    Komentáře

    Vložit další komentář

    Filda avatar 13.4.2006 16:57 Filda | nejmenší velkoměsto
    Rozbalit Rozbalit vše Re: Předávání hodnot mezi okny v Javascriptu
    Tohle jsem taky onehdá potřeboval. Vyřešený to mám v podstatě stejně, ale já to mám lepší :), okno se mi otevirá uprostřed obrazovky
    
            widthVal = 350;
            heightVal = 280;          
            leftVal = (screen.width / 2) - (widthVal/2);
            topVal = (screen.height / 2) - (heightVal/2);                
           
            date = document.getElementsByName(input2Fill)[0].value;
            window.open(url, title, "width="+widthVal+", height="+heightVal+", left="+leftVal+", top="+topVal);
    
    
    Komix na Hovno
    13.4.2006 16:59 Michal Vyskočil | skóre: 60 | blog: miblog | Praha
    Rozbalit Rozbalit vše Re: Předávání hodnot mezi okny v Javascriptu
    Doufám, že tvůj kód _byl pod Public Domain ;-)
    When your hammer is C++, everything begins to look like a thumb.
    Filda avatar 14.4.2006 08:46 Filda | nejmenší velkoměsto
    Rozbalit Rozbalit vše Re: Předávání hodnot mezi okny v Javascriptu
    je to pod FPL (Fildova Public License) a ta obsahuje jednu jedinou větu: Dělej si s tim co chceš, hlavně moc nevotravuj :)
    Komix na Hovno
    13.4.2006 17:13 happy barney | skóre: 34 | blog: dont_worry_be_happy
    Rozbalit Rozbalit vše Re: Předávání hodnot mezi okny v Javascriptu
    len ma zaujima, preco vsetci tomu co nezvlada png stale vravia prehliadac :-(
    13.4.2006 19:24 pantera | skóre: 17 | blog: Bl0g
    Rozbalit Rozbalit vše Re: Předávání hodnot mezi okny v Javascriptu
    diiiky :) v tomto jsem se chtel rypat v sobotu :o) Usetril jsi mi hafo prace s hledanim :)
    14.4.2006 09:20 Jiří Veselský | skóre: 30 | blog: Jirkovo | Ostrava
    Rozbalit Rozbalit vše Re: Předávání hodnot mezi okny v Javascriptu

    Pokud vím, abyste mohl v Mozille&spol. použít volbu modal=yes, musí mít skript privilegium UniversalBrowserWrite, jinak to nefunguje, a toto privilegium si může vyžádat pouze podepsaný skript.

    Jak jste se s tím popral? Jde to nějakým lokálním nastavením prohlížeče obejít, nebo je nutno absolvovat kalvárii s podpisem skriptu? Mi by se to pro nějaké interní firemní aplikace občas taky hodilo, ale námaha na vytváření podepsaných skriptů mi přijde pořád ještě větší, než potencionální efekt...

    14.4.2006 09:47 Michal Vyskočil | skóre: 60 | blog: miblog | Praha
    Rozbalit Rozbalit vše Re: Předávání hodnot mezi okny v Javascriptu
    Přiznávám, že tohle jsem ani nevěděl (opravdu nejsem kovaný v Javascriptu). Protože většina uživatelů jede na IE, pouze vývoj je na ff, tak to asi řešit nebudeme.
    When your hammer is C++, everything begins to look like a thumb.
    14.4.2006 10:36 Jiří Veselský | skóre: 30 | blog: Jirkovo | Ostrava
    Rozbalit Rozbalit vše Re: Předávání hodnot mezi okny v Javascriptu

    Aha.

    No tak se hlavně ve FF nedivte, že i přes nastavení modal=yes se to okno nechová modálně, chyba není ve vašem skriptu :-). Pro účely ladění můžete "skoromodální" chování nasimulovat volbou dialog=yes.

    14.4.2006 10:31 Pavel 'lingeek' Szalbot | skóre: 54 | Třinec
    Rozbalit Rozbalit vše Re: Předávání hodnot mezi okny v Javascriptu
    Nedávno mi přišla pozvánka do Google Page Creatoru a tam jsou modální dialogy řešeny jako HTML divy. Jelikož se neřadím mezi JavaScriptové profesionály, nepřišel jsem na to, "jak to v tom Googlu sakra dělají", ale našel jsem http://www.wingo.com/dialogbox/index.html. Snad někomu pomůže.
    Math, as Barbie says, is hard.
    14.4.2006 10:45 Jiří Veselský | skóre: 30 | blog: Jirkovo | Ostrava
    Rozbalit Rozbalit vše Re: Předávání hodnot mezi okny v Javascriptu

    Nasimulovat modální dialog DIVem asi není zas až takový problém, víceméně to celé obsloužíte CSSkem.

    Nicméně by mě zajímalo, pokud to někdo tuší, jak přes JS přinutit stránku, aby si něco stáhla ze serveru.

    Napadá mě například takováto situace: Mám selectbox se seznamem čehosi (kategorie výrobku), vyberu kategorii a chci, aby se onchange naplnil jiný selectbox, řekněme s typem výrobku. To samozřejmě lze ošetřit, ale já bych navíc chtěl, aby si ten handler události onchange teprve sám ze serveru přečetl, co má vlastně zobrazit podle předchozího výběru, nechcu mít "předčtené" všechny varianty.

    V zásadě bych chtěl udělat něco jakoby prvek.innerHTML="http://...". Samozřejmě je možná jakákoliv jiná varianta řešení, ten JS si může požádat o cokoliv jakkoliv a server mu taky může doručit cokoliv jakkoliv, takže je mi celkem jedno, jak přesně se to udělá, jde mi jenom o to, jestli to vůbec jde udělat.

    Cíleně jsem sice nepátral, ale na první ani druhý pohled jsem nic podobného nenašel.

    14.4.2006 10:59 Pavel 'lingeek' Szalbot | skóre: 54 | Třinec
    Rozbalit Rozbalit vše Re: Předávání hodnot mezi okny v Javascriptu
    Problémem je právě ta modalita - vyžaduje to už nejen povrchní znalost JS;-). Hledáte asi AJAX? Doporučuji pak knihovnu prototype.
    Math, as Barbie says, is hard.
    14.4.2006 11:15 Jiří Veselský | skóre: 30 | blog: Jirkovo | Ostrava
    Rozbalit Rozbalit vše Re: Předávání hodnot mezi okny v Javascriptu

    Jo, to je přesně ono :-)

    window.XMLHttpRequest je to, co jsem potřeboval slyšet, že tomu říkají AJAX a vedou kolem toho hafo řečí, to je mi šumafuck. Díky.

    14.4.2006 11:16 happy barney | skóre: 34 | blog: dont_worry_be_happy
    Rozbalit Rozbalit vše Re: Předávání hodnot mezi okny v Javascriptu
    modalita? hmm, z mojich povrchnych znalosti by som to riesil dvoma divmi a nastavovanim z-index
    prvy by obsahoval data stranky
    druhy by obsahoval div s modalnym (fuj, ako niekto moze pouzivat modalne okna??) oknom, bol by nad prvym, transparentny, width/height 100%, cursor: wait; a v nom by bol div s oknom.
    14.4.2006 12:04 Pavel 'lingeek' Szalbot | skóre: 54 | Třinec
    Rozbalit Rozbalit vše Re: Předávání hodnot mezi okny v Javascriptu
    Tohle řeší vzhled (a to si nejsem jistý tou průhledností a její podporou v prohlížečích, navíc je zbytečná). Horší je to s přesměrováním veškerého vstupu do onoho divu. Není to tedy neřešitelné, ale je potřeba mít určité znalosti JavaScriptu.
    Math, as Barbie says, is hard.

    Založit nové vláknoNahoru

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