Autor Zpráva
vkalina
Profil
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
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
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
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
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ý

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: