Spotify spustilo přehrávání v bezztrátové kvalitě. V předplatném Spotify Premium.
Spoluzakladatel a předseda správní rady americké softwarové společnosti Oracle Larry Ellison vystřídal spoluzakladatele automobilky Tesla a dalších firem Elona Muska na postu nejbohatšího člověka světa. Hodnota Ellisonova majetku díky dnešnímu prudkému posílení ceny akcií Oraclu odpoledne vykazovala nárůst o více než 100 miliard dolarů a dosáhla 393 miliard USD (zhruba 8,2 bilionu Kč). Hodnota Muskova majetku činila zhruba 385 miliard dolarů.
Bylo vydáno Eclipse IDE 2025-09 aneb Eclipse 4.37. Představení novinek tohoto integrovaného vývojového prostředí také na YouTube.
T-Mobile od 15. září zpřístupňuje RCS (Rich Communication Services) zprávy i pro iPhone.
Společnost ARM představila platformu Arm Lumex s Arm C1 CPU Cluster a Arm Mali G1-Ultra GPU pro vlajkové chytré telefony a počítače nové generace.
Unicode Consortium, nezisková organizace koordinující rozvoj standardu Unicode, oznámila vydání Unicode 17.0. Přidáno bylo 4 803 nových znaků. Celkově jich je 159 801. Přibylo 7 nových Emoji.
Apple představil (YouTube) telefony iPhone 17 Pro a iPhone 17 Pro Max, iPhone 17 a iPhone Air, sluchátka AirPods Pro 3 a hodinky Watch Series 11, Watch SE 3 a Watch Ultra 3.
Realtimová strategie Warzone 2100 (Wikipedie) byla vydána ve verzi 4.6.0. Podrobný přehled novinek, změn a oprav v ChangeLogu na GitHubu. Nejnovější verzi Warzone 2100 lze již instalovat také ze Snapcraftu a Flathubu.
Polské vývojářské studio CD Projekt Red publikovalo na Printables.com 3D modely z počítačové hry Cyberpunk 2077.
Organizátoři konference LinuxDays 2025 vydali program a zároveň otevřeli registrace. Akce se uskuteční 4. a 5. října na FIT ČVUT v pražských Dejvicích, kde vás čekají přednášky, workshopy, stánky a spousta šikovných lidí. Vstup na akci je zdarma.
Jde nějak v PHPku zařídit, abych na jeden XMLHTTP(Ajax) požadavek dostal více odpovědí? V AJAXu dělám importér, který podle importuje data ze souborů, které se během importu stahují, a na každý tento soubor mám vlastní AJAX request. Jenomže každý importovaný soubor má několik podpoložek a ty bych chtěl pomocí AJAXu hlásit do UI.
Schéma jak to ted funguje je takové:
id požadavku 1(ajax request) pozadavek uspesne zpracovan(ajax reply)A toto bych z toho chtel dostat:
id požadavku 1(ajax request) polozka 1 uspesne naimportovana(ajax reply) polozka 2 uspesne naimportovan(ajax reply) ...... pozadavek uspesne zpracovan(ajax reply)
window.onload=function() { start_import(); } function start_import() { var f=document.adminForm; var ajax=new Array(); var tid=f.tid.value.split(","); do_import(ajax,tid,0); } function do_import(ajax, tid,i) { var f=document.adminForm; var msgs=document.getElementById('messages'); var url="index.php?option=com_cbazaar&controller=import&task=import_xxxcars"; if(window.XMLHttpRequest) { ajax.push(new XMLHttpRequest()); } else if(window.ActiveXObject) { ajax.push(new ActiveXObject("Microsoft.XMLHTTP")); } ajax[ajax.length-1].open('POST',url,true); ajax[ajax.length-1].onreadystatechange=function() { /*var p=document.createElement('p'); p.appendChild(document.createTextNode(ajax.length+' '+ajax[ajax.length-1].readyState+ ' '+ajax[ajax.length-1].responseText)); msgs.appendChild(p);*/ if(ajax[ajax.length-1].readyState==4 && ajax[ajax.length-1].status==200) { var xml=ajax[ajax.length-1].responseXML; if(xml.getElementsByTagName('status')[0].firstChild.nodeValue==0) { var p=document.createElement('p'); p.appendChild(document.createTextNode("Successfully imported data to "+xml.getElementsByTagName('title')[0].firstChild.nodeValue)); msgs.appendChild(p); } else { var p=document.createElement('p'); p.appendChild(document.createTextNode("Failed to import data to "+xml.getElementsByTagName('title')[0].firstChild.nodeValue)); var div=document.createElement('div'); div.setAttribute('class','error'); div.appendChild(document.createTextNode(xml.getElementsByTagName('error')[0].firstChild.nodeValue)); p.appendChild(div); msgs.appendChild(p); } if(xml.getElementsByTagName('img_err').length>0) { var p=document.createElement('p'); p.appendChild(document.createTextNode('Image import warnings:')); msgs.appendChild(p); var ul=document.createElement('ul'); for(var j=0;j<xml.getElementsByTagName('img_err').length;j++) { var li=document.createElement('li'); li.appendChild(document.createTextNode(xml.getElementsByTagName('img_err')[j].firstChild.nodeValue)); ul.appendChild(li); } msgs.appendChild(ul); } i++; if(i>=tid.length) { return; } do_import(ajax,tid,i); } } var params="tid="+tid[i]; ajax[ajax.length-1].setRequestHeader("Content-type", "application/x-www-form-urlencoded"); ajax[ajax.length-1].setRequestHeader("Content-length", params.length); ajax[ajax.length-1].setRequestHeader("Connection", "close"); ajax[ajax.length-1].send(params); }
Soubor stahuju nějak takto:
$c = curl_init($this->_url_cars); curl_setopt($c, CURLOPT_RETURNTRANSFER, 1); if(!$this->_update = curl_exec($c)) { $this->setError('Failed to download update file'); return false; } curl_close($c);Takto získám xml soubor jednoho autobazaru(těch bazarů je víc podle obsahu pole tid) a následuje jeho zpracování do db. Když se dokončí zpracování souboru pošlu do prohlížeče xml hlášení jestli se import podařil, nebo ne. A takové hlášení bych chtěl poslat po zpracování každého auta, aby z toho šel udělat třeba teploměr, že tolik a tolik aut z toho bazaru už je zpracováno.
cometd
, určitě se dozvíte víc.
Kedysi som experimentoval s tým, že som HTTP odpoveď rozdelil na viac častí, ktoré som postupne odosielal, ale spojenie za nimi neuzatváral. Nejak takto:
<?php for ($i=0;$i<=100;$i++) { echo $i."\n"; flush(); sleep(1); } ?>
Bohužiaľ, prehliadače to v prípade normálneho requestu spracujú pekne, ale v prípade requestu cez AJAX to veľa prehliadačov vôbec nepochopilo. Možno to ale dnes už funguje lepšie...
Tiskni
Sdílej: