Byl publikován přehled vývoje renderovacího jádra webového prohlížeče Servo (Wikipedie) za uplynulé dva měsíce. Servo zvládne už i Gmail. Zakázány jsou příspěvky generované pomocí AI.
Raspberry Pi Connect, tj. oficiální služba Raspberry Pi pro vzdálený přístup k jednodeskovým počítačům Raspberry Pi z webového prohlížeče, byla vydána v nové verzi 2.5. Nejedná se už o beta verzi.
Google zveřejnil seznam 1272 projektů (vývojářů) od 185 organizací přijatých do letošního, již jednadvacátého, Google Summer of Code. Plánovaným vylepšením v grafických a multimediálních aplikacích se věnuje článek na Libre Arts.
Byla vydána (𝕏) dubnová aktualizace aneb nová verze 1.100 editoru zdrojových kódů Visual Studio Code (Wikipedie). Přehled novinek i s náhledy a videi v poznámkách k vydání. Ve verzi 1.100 vyjde také VSCodium, tj. komunitní sestavení Visual Studia Code bez telemetrie a licenčních podmínek Microsoftu.
Open source platforma Home Assistant (Demo, GitHub, Wikipedie) pro monitorování a řízení inteligentní domácnosti byla vydána v nové verzi 2025.5.
OpenSearch (Wikipedie) byl vydán ve verzi 3.0. Podrobnosti v poznámkách k vydání. Jedná se o fork projektů Elasticsearch a Kibana.
PyXL je koncept procesora, ktorý dokáže priamo spúštat Python kód bez nutnosti prekladu ci Micropythonu. Podľa testov autora je pri 100 MHz približne 30x rýchlejší pri riadeni GPIO nez Micropython na Pyboard taktovanej na 168 MHz.
Grafana (Wikipedie), tj. open source nástroj pro vizualizaci různých metrik a s ní související dotazování, upozorňování a lepší porozumění, byla vydána ve verzi 12.0. Přehled novinek v aktualizované dokumentaci.
Raspberry Pi OS, oficiální operační systém pro Raspberry Pi, byl vydán v nové verzi 2025-05-06. Přehled novinek v příspěvku na blogu Raspberry Pi a poznámkách k vydání. Pravděpodobně se jedná o poslední verzi postavenou na Debianu 12 Bookworm. Následující verze by již měla být postavena na Debianu 13 Trixie.
Richard Stallman dnes v Liberci přednáší o svobodném softwaru a svobodě v digitální společnosti. Od 16:30 v aule budovy G na Technické univerzitě v Liberci. V anglickém jazyce s automaticky generovanými českými titulky. Vstup je zdarma i pro širokou veřejnost.
Dneska jsem se z blogy rozjel . 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 ).
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 .
Tiskni
Sdílej:
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);
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...
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.
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.
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.