Autor | Zpráva | ||
---|---|---|---|
vkalina Profil |
#1 · Zasláno: 30. 3. 2013, 08:52:06
Provozuji tuto stranku v php http://ksystems.cz/Teplomer/kotelna.php
zdůvodu přesunutí stránky ze serveru na PLC zařízení ji tudíž předělávám do html a obrázky tam vkládám přez base64, nevím ale jak napsat script, abych mohl vkládat do tabulky obrázky z proměnné. V PHP to mám řešeno takto -php if ($kotel < 70) : $system_hlaska = "Kotel je odstaven"; $okno = "kotelna/sedivakotelnaR9C2.PNG" ; $cerpadlo_kotel = "kotelna/kotelnaR22C5.PNG" ; $topi_kotel = "" ; elseif ($kotel >= 70) : $cerpadlo_kotel = "kotelna/zelenakotelnaR22C5.PNG" ; $topi_kotel = "kotelna/kotelnaR19C6.PNG" ; endif; html <td rowspan="5" colspan="6" width="215" height="105" valign=middle align="center" background="<?php echo $okno?>"><h2><?php echo $system_hlaska?></td> poradí někdo jak to dostat do JS ? base64 mi funguje, ale jak to dat do JavaScript promenne ? <td rowspan="2" colspan="3" width="112" height="84"><img border="0" width="112" height="84" src="data:image/png;base64,KÓD base64" alt=""></td> Base64 je nutnost z duvodu, že PLC zařízení neumožňuje ukládat soubory, ale pouze html kód. Děkuji za radu, JS se teprve seznamuji |
||
Str4wberry Profil |
„jak uložit obrázek do proměnné a následně ho zobrazit“
Třeba: <img id=obrazek> <script> var obsahObrazku = 'data:image/png;base64,KÓD base64'; document.getElementById("obrazek").src = obsahObrazku; <script> „Base64 je nutnost z duvodu, že PLC zařízení neumožňuje ukládat soubory, ale pouze html kód.“ Nebylo by lepší v tom PLC ukládat nějaký soubor jen s čistými daty a ty potom jinde normálně presentovat? |
||
vkalina Profil |
Str4wberry:
Diky vyzkousim, nebylo, je to regulace topení. Doma mi to řidí linux, ale mám s tím plán to poskytnout lidem jako regulaci akumulačního vytápění a instalace na počítači by to velmi zkomplikovala a prodražila. Takhle to bude puze PLC modul s možností monitoringu a nastavení přez internet Navíc zařízení má v sobě pouze 2MB DATAFLASH a ta má životnost tak 100000 zápisů a to bych jí za pár dní odepsal |
||
Str4wberry Profil |
#4 · Zasláno: 30. 3. 2013, 11:44:36
Pokud to chápu správně, tak máte představu, že zařízení bude ukládat data do HTML se zakódovanými obrázky, což půjde přes internet zobrazit.
Já to myslel tak, že místo HTML kódu by se ukládala čistá data — ta data by načetla nějaká webová služba a přechroupala je do srozumitelné podoby bez vymýšlení nějakých šíleností. |
||
vkalina Profil |
Str4wberry:
Ne, html bude pouze vyčítat data z jednotky a interaktivně měnit obrazovku podle aktualního stavu, nic se zde ukládat nebude. Samotný modul řízení topení je součástí PLC. Rozdíl je v tom, že oproti jiným PLC modulům má toto v sobě web server schopný pracovat pouze s jedním html souborem. Proto ten překlad obrázků do base64. Jde o to, nabídnout uživateli komfortní přehled nad stavem otopné soustavy přes webové rozhraní i bez puštěných jakýchkoli počítačů a klidně i bez přístupu na internet. Jednotka má odběr 1W a výstupy Ethernet, IC2 sběrnici pro čidla Dallas, optické vstupy a releové výstupy, analogové vstupy a PWR výstup. Dneska si sice koupíte jakoukoli ekvitermní regulaci, ale přehled o tom v jakém stavu je topná soustava už nemáte. Todle by to mělo splňovat a za cenu o polovic menší než srovnatelná ekvitermní regulace. Dekuju moc funguje to, ale jsem talpa a nedokazu to zaclenit do tohoto. <td rowspan="5" colspan="6" width="215" height="105" valign=middle align="center" background=<script>"document.getElementById("obrazek").src = obsahObrazku"</script>><h3><script>document.write(systemhlaska)</script></td> Java script jsem objevil teprve včera. Doteď jsem si vystačil s PHPkem. Jeste jednou diky za cas a trpelivost s jedincem jako já |
||
Str4wberry Profil |
Aha, takže jde o to, aby se ten obrázek mohl zobrazovat někde přímo na zařízení? Potom skutečně asi není jiná možnost.
Jinak pro nastavování pozadí pomocí JS nevidím důvod. Můžete napsat normálně: <td background='data:image/png;base64,KÓD base64'> Pokud jde o to použít JS, stačí přidat buňce tabulky ( <td> ) atribut id="obrazek" a po uzavření této značky nastavit pozadí zmíněným JavaScriptem:
<td id='obrazek'>Obsah</td> <script> var obsahObrazku = 'data:image/png;base64,KÓD base64'; document.getElementById("obrazek").style.background = 'url(' + obsahObrazku + ')'; </script> Nebo je ještě možné vypsat celý řádek pomocí document.write .
Vizte ukázku všech postupů. Mimochodem, vkládání obrázků tímto způsobem je funkční až od Internet Exploreru 8. |
||
vkalina Profil |
Str4wberry:
No jo, ale ja potrebuju, aby se mi pred zobrazenim stranky, provedli vsechny operace a nacetli promenne podle teplot. Ten obrazek v tabulce se prave meni podle teplot a pak se do nej vpisuje prave ten text z dalsi promene, proto ho tam potrebuju dostat z promenne, ktera se nastavi pred html. Explorer neresim, ten jsem prestal pouzivat uz pred 5.lety |
||
vkalina Profil |
vkalina:
tak nevim, to Vase samozrejme funguje, ale ja to nedokazu do ty tabulky narvat <tr align="left" valign="top"> <td rowspan="1" colspan="1" width="1" height="63"></td> <td rowspan="5" colspan="1" width="128" height="105" background="<?php echo $komin2?>"></td> <script>document.write('<td rowspan="5" colspan="6" width="215" height="105" valign=middle align="center" background=" + okno + "><h2>hlaska</td>')</script> <td rowspan="15" colspan="1" width="64" height="322"><img border="0" width="64" height="322" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAFCCAIAAADOtEw2AAAACXBIWXMAAAAAAAAAAAHqZRakAAADOUlEQVR4nO3YPWsUURTG8dkkGhQNaqIBGz+CjVpYWAXBwm8g4gewEgRfIDFZEAQRURAUbLWxSauNhZ2FINoKgmg2L5usJqLEuM7dhU02jrszd+6591z8H55yXu6P5VmGkzQjnyT0AcoOgNATP+DLlfHQZyg1BtBO6JNYziYgUkMXIEbDdkB0hgxAXIZsQESMXoAoDH0A+g39AcoNuQCaDXkBahnFAAoNhQHaDDYAVQZLgB6DPUAJoywguMEBIKzBDSCgwRkglMElIIjBMcA/QwTg0yAF8GYQBPgxyAI8GMxuVNogythc7qavmbt6KDpD13Z65cnIfPVgXIbu9fpasvF5YPHOaESG7YA0v5cry4/3xWLIAJisJl9n98gZHDL+AWjl+6tdc9e017oXIM3P9ztq06pr3QeQ5tenwYXbemvdH2BqXa/UHymtdS6Aybek8WyvnMGakRvQytpLdbUuBjC1fruzNqWo1oUBptYfBxdujSkx2ABMrRcrSw/2azBYAtq1Xnk6EtxQAtDK6ovdYT/CywLS/HgzXJsMZnAASLP+YWj+ZphauwGk2agNLN0/4N/gDGDSSOoPfX9xOAW0IgfIZLgHNOXXHOIAnwYpgDeDIMCPQRYgbfABEGX4A8gZ/AGEDF4BEgbfAOeGAAC3jGAAV4aQgPKGps+/UQmDCkAZgxaAHaN9lyJAIUPnFl2AnIat16sD9Gb8faVSQP4BAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAJuDI4fFO3r0eKnn69YZ5YDDAxKnRkoDns8MACgJuTE12Up25fu/uRetcvnT2+NEx34DqzLSrXDh/rv1LAgAAAAAAAAAAAAAAAAAAAAAA/AeAM6cnXOXkiWMBAFs3c64CoMD8AfhAjUOxiyyHAAAAAElFTkSuQmCC" alt=""></td> </tr> neoeditoval by jste mi to ? |
||
Amunak Profil |
#9 · Zasláno: 30. 3. 2013, 17:01:42
vkalina:
Vyzkoušejte si, jestli to vaše zařízení umí zobrazit i takto "pokročilé" věci. To, že "umí HTML" ještě neznamená, že umí úplně všechno. Tak abyste neztrácel čas. |
||
vkalina Profil |
#10 · Zasláno: 30. 3. 2013, 18:00:03
Amunak:
zatim to jedu na pocitaci jde mi o tu promenou - okno - |
||
Michal Maršálek Profil |
Amunak:
Nezaměňovat " a ' : <script>document.write('<td rowspan="5" colspan="6" width="215" height="105" valign="middle" align="center" background="' + okno + '"><h2>hlaska</td>')</script> |
||
Amunak Profil |
#12 · Zasláno: 30. 3. 2013, 18:59:12
vkalina:
Proto říkám vyzkoušejte jen nějaký primitivné test (třeba obrázek a document.write v javascriptu) aby se vám pak nestalo, že si to vyladíte na PC, a pak zjistíte, že ten prohlížeč ve vašem zařízení neumí ani datová URL, natož Javascript. Pokud je tam webserver, který umí servírovat jedinou stránku, ani bych se tomu nedivil. |
||
vkalina Profil |
Amunak:
javascript to umí, je to celkem vymakaný umí to víc stránek, ale jenom jednu uživatelskou Michal Maršálek: Díky moc, pro oči nevidím, uvozovky jedny prokletý |
||
Časová prodleva: 13 let
|
0