Avaleht
uus teema   vasta Tarkvara »  WWW »  Javascripti muutuja muutumine uuendab veebilehte märgi kõik teemad loetuks
märgi mitteloetuks
vaata eelmist teemat :: vaata järgmist teemat
Hinnavaatlus :: Foorum :: Uudised :: Ärifoorumid :: HV F1 ennustusvõistlus :: Pangalink :: Telekavad :: HV toote otsing
autor
sõnum Saada viide sõbrale.  :: Teata moderaatorile teata moderaatorile
otsing:  
raxz
HV Guru

liitunud: 27.07.2003




sõnum 17.12.2012 11:58:00 Javascripti muutuja muutumine uuendab veebilehte vasta tsitaadiga

Tere,

On üks veebileht, ühes võrgus asuvas seadmes. Tegu ei ole arvutiga, kuid ta oskab jooksutada veebiserverit.

Lehe laadimisel käivitatakse rida,
<!-- AWP_Out_Variable Name='low1' Use='"Data".Status_word_target1.Signal_too_low'-->

mis omistab javascripti muutujale low1 väärtuse, mis asub viidatud kohas (Use="").

Kuvatakse muutujat sellises kohas:
<table<tr><td>Madalal</td><td id='lo1'>:=low1:</td></tr></table


Oleks vaja kuidagi küsida pidevalt neid väärtusi ja lehe sisu uuendada, kui väärtus on muutunud.
Viide võiks olla võimalikult lühike ja ei tohiks koormata brauserit, kuna leht võib olla terve päeva avatud.

Olen dünaamilist PHP lehte ajaxiga uuendanud, aga praegu ei saa enam kuidagi jagu. PHPd see seade ei tunne. Ainult html ja javascript.
Kas on mõnda head soovitust?
Kommentaarid: 46 loe/lisa Kasutajad arvavad:  :: 1 :: 0 :: 45
tagasi üles
vaata kasutaja infot saada privaatsõnum
jnt
HV Guru
jnt

liitunud: 10.05.2005



Autoriseeritud ID-kaardiga

sõnum 17.12.2012 12:13:17 vasta tsitaadiga

raxz, see siin pole küll puhtalt html ja js. Räägi, mis sul seal veel on, kohvipaksult täna hommikul seda välja ei lugenud...
_________________
Progemisest: https://byteaether.github.io/
Seisab keldris vana 386-486-Pentium1? Räägime! Ehk saan vanakesele uue elu anda. icon_wink.gif
Vaata siia, äkki müün midagi põnevat -> https://www.osta.ee/index.php?fuseaction=listing.seller&q[seller]=jnt
Kommentaarid: 110 loe/lisa Kasutajad arvavad:  :: 2 :: 0 :: 102
tagasi üles
vaata kasutaja infot saada privaatsõnum
raxz
HV Guru

liitunud: 27.07.2003




sõnum 17.12.2012 12:47:09 vasta tsitaadiga

Tegu on puhtalt HTML ja JSga. Ühtegi muud keelt see seade ei oska ning kogu lehe jaoks on max 2MB ruumi.
See esimene rida on ainus võõramaise päritoluga koodirida (AWP_Out_Variable...), millega omistatakse javascripti muutujale väärtus seadme seest.
Kommentaarid: 46 loe/lisa Kasutajad arvavad:  :: 1 :: 0 :: 45
tagasi üles
vaata kasutaja infot saada privaatsõnum
infidel
HV kasutaja
infidel

liitunud: 31.01.2004




sõnum 17.12.2012 12:52:10 vasta tsitaadiga

Märksõnade järgi on tegu Siemensi loominguga. Siin on vähe täpsemalt kirjas.
Kas on mingi põhjus, miks ei sobi asja lahendada brauseri poolt (või siis päises "Refresh" märkega) kindla intervalliga lehe uuendamisega?
Kommentaarid: 36 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 35
tagasi üles
vaata kasutaja infot saada privaatsõnum
jnt
HV Guru
jnt

liitunud: 10.05.2005



Autoriseeritud ID-kaardiga

sõnum 17.12.2012 13:00:24 vasta tsitaadiga

Tegemist ei ole puhta html+js kraamiga. icon_lol.gif

"<!--" on HTML kommentaar, mitte mingi js muutujale väärtuse omistamine
":=low1:" ei ole mingi js'i muutuja kuvamine

Aga nagu infidel ütles, on tegemist vist mingi siemens asjaga.

_________________
Progemisest: https://byteaether.github.io/
Seisab keldris vana 386-486-Pentium1? Räägime! Ehk saan vanakesele uue elu anda. icon_wink.gif
Vaata siia, äkki müün midagi põnevat -> https://www.osta.ee/index.php?fuseaction=listing.seller&q[seller]=jnt
Kommentaarid: 110 loe/lisa Kasutajad arvavad:  :: 2 :: 0 :: 102
tagasi üles
vaata kasutaja infot saada privaatsõnum
karu
HV kasutaja

liitunud: 08.08.2002




sõnum 17.12.2012 13:22:01 vasta tsitaadiga

raxz kirjutas:
Tegu on puhtalt HTML ja JSga. Ühtegi muud keelt see seade ei oska ning kogu lehe jaoks on max 2MB ruumi.
See esimene rida on ainus võõramaise päritoluga koodirida (AWP_Out_Variable...), millega omistatakse javascripti muutujale väärtus seadme seest.
Tegelikult ei oska see seade ka HTML või JS'ga midagi teha. Ainuke mida ta oskab, on lugeda <!-- AWP_ ... --> tage ja teha search/replace väljundile.

Uploadi lihtne javascripti fail sinna mida siis saad jsonp meetodiga lugeda, näiteks
/* <!-- AWP_Out_Variable Name='low1' Use='"Data".Status_word_target1.Signal_too_low'--> */
update({"low1" : ":=low1:"});


loomulikult võid lihtsa teksti faili ka tekitada kus ainult 'low1' väljund, kuid jsonp javascripti keskkonnas on lihtsam
Kommentaarid: 1 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 1
tagasi üles
vaata kasutaja infot saada privaatsõnum
raxz
HV Guru

liitunud: 27.07.2003




sõnum 17.12.2012 16:39:47 vasta tsitaadiga

Siemensi PLCga tegu. AWP asjad html failides ta asendab jah enda väärtusega ning muidu on tavaline server, kust laetakse HTML fail brauserisse.
Sinna masinasse laen ühe .js faili ja html faili võin enda arvutisse kirjutada?
See rida masinasse: /* <!-- AWP_Out_Variable Name='low1' Use='"Data".Status_word_target1.Signal_too_low'--> */
Ja enda masinasse: update({"low1" : ":=low1:"});?
Ilmselt pean hakkama mingi intervalli tagant muutuja väärtust küsima või see update teeb seda ise, kui midagi muutub?
Ma olen seda masinat täna näppinud ja muutujatele saab uued väärtused siis, kui see AWP koodiga leht uuesti laetakse.
Kommentaarid: 46 loe/lisa Kasutajad arvavad:  :: 1 :: 0 :: 45
tagasi üles
vaata kasutaja infot saada privaatsõnum
karu
HV kasutaja

liitunud: 08.08.2002




sõnum 17.12.2012 17:04:06 vasta tsitaadiga

raxz kirjutas:
Sinna masinasse laen ühe .js faili ja html faili võin enda arvutisse kirjutada?

Mis html faili? Minu postituses html faili ei olnud icon_wink.gif

Kuid jah, html faili mis seda javascripti kasutab võid end arvutisse teha.

raxz kirjutas:
Ilmselt pean hakkama mingi intervalli tagant muutuja väärtust küsima või see update teeb seda ise, kui midagi muutub?

yep, nope
Kommentaarid: 1 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 1
tagasi üles
vaata kasutaja infot saada privaatsõnum
raxz
HV Guru

liitunud: 27.07.2003




sõnum 17.12.2012 21:54:47 vasta tsitaadiga

karu kirjutas:
yep, nope

Milline on kõige mõistlikum variant võimalikult kiiresti sisu uuendada? Brauseri puhvrid ja asjad võiks iga uuendusega tühjeneda.
setInterval on üks funktsioon. Seda tasub kasutada?
Pmst tahaks teha lihtsat visualiseerimist veebilehele, aga olekud võiks võimalikult kiiresti uueneda.
Kommentaarid: 46 loe/lisa Kasutajad arvavad:  :: 1 :: 0 :: 45
tagasi üles
vaata kasutaja infot saada privaatsõnum
andrusny
Kreisi kasutaja
andrusny

liitunud: 20.03.2006




sõnum 17.12.2012 22:16:04 vasta tsitaadiga

tsitaat:
Siemensi PLCga tegu

Ma kül ei tea, kas saaks, kuid minu meelest pole mingi takistus kasutada AJAX lehe uuenduses, bauser seda toetab ja mida see AJAX sisse loeb pole vist määrav.

_________________
Kommentaarid: 7 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 7
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
raxz
HV Guru

liitunud: 27.07.2003




sõnum 17.12.2012 22:22:21 vasta tsitaadiga

Lehe uuenduses saab AJAXit kasutada küll, ma usun. Kui kiire see oleks ning kui palju brauserit koormab?

Küsimus on ka selles, et kuidas muutujad PLCst kätte saada.
Kui üks fail on näiteks data.js ning seal sees need AWP_Out_Variable read, millega muutuja väärtuse saab, siis index.htm küsib data.js'lt lihtsalt javascripti muutujate väärtusi ning uuendab <div> sees olevaid numbreid?
Kommentaarid: 46 loe/lisa Kasutajad arvavad:  :: 1 :: 0 :: 45
tagasi üles
vaata kasutaja infot saada privaatsõnum
jnt
HV Guru
jnt

liitunud: 10.05.2005



Autoriseeritud ID-kaardiga

sõnum 17.12.2012 22:22:54 vasta tsitaadiga

ajax ei nõua serveri poolt küll mitte midagi jah. icon_wink.gif
_________________
Progemisest: https://byteaether.github.io/
Seisab keldris vana 386-486-Pentium1? Räägime! Ehk saan vanakesele uue elu anda. icon_wink.gif
Vaata siia, äkki müün midagi põnevat -> https://www.osta.ee/index.php?fuseaction=listing.seller&q[seller]=jnt
Kommentaarid: 110 loe/lisa Kasutajad arvavad:  :: 2 :: 0 :: 102
tagasi üles
vaata kasutaja infot saada privaatsõnum
raxz
HV Guru

liitunud: 27.07.2003




sõnum 18.12.2012 00:14:34 vasta tsitaadiga

setInterval(updateValues(), 500);
function updateValues() {
/* <!-- AWP_Out_Variable Name='msg' Use='"Data".Text'--> */
document.getElementById("message").innerHTML = :=msg:;
}


Kas selline asi saab töötaks (ning kas see variant on ratsionaalne), kui poole sekundi tagant uuendada?
Kommentaarid: 46 loe/lisa Kasutajad arvavad:  :: 1 :: 0 :: 45
tagasi üles
vaata kasutaja infot saada privaatsõnum
infidel
HV kasutaja
infidel

liitunud: 31.01.2004




sõnum 18.12.2012 10:07:41 vasta tsitaadiga

Töötaks küll.
Ja teeks ilmselt täpselt seda, mis kästud, kuid see ei pruugi kokku langeda sellega, mis tegelikult vaja on.
Nimelt laeb brauser ära HTML-i ja JS-i lõplikul kujul. Seega uuendaks selline kood iga poole sekundi järel kasti sisu täpselt samade väärtustega.
Värskete andmete lugemiseks peab perioodiliselt uuesti ühenduma ja lugema näiteks karu poolt pakutud faili.

Intervalli valimisel lähtu sellest, kui kiiresti andmed peale tulevad ja milleks neid kasutatakse. Kui andmed tulevad seadmest näiteks iga 10 sekundi järel, pole mõtet ka lühemal intervallil. Kui andmestik uueneb iga sajandiksekundi järel, siis tuleks võtta vaatleja reaktsiooniaeg.

Kui on vaja ainult lehte värskena hoida, siis lihtsaim oleks algse HTML päisesse selline rida lisada ja eluga edasi minna.
<meta http-equiv="refresh" content="5">
Kommentaarid: 36 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 35
tagasi üles
vaata kasutaja infot saada privaatsõnum
andrusny
Kreisi kasutaja
andrusny

liitunud: 20.03.2006




sõnum 18.12.2012 13:02:45 vasta tsitaadiga

<meta http-equiv="refresh" content="5">

see kipub lehel välgatusi põhjustama.

_________________
Kommentaarid: 7 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 7
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
raxz
HV Guru

liitunud: 27.07.2003




sõnum 19.12.2012 00:22:36 vasta tsitaadiga

Meta refresh töötab. Hetkel see jooksebki.
Kuid oleks hea, kui saaks tihedamalt uuendama nii, et tervet lehte laadima ei peaks. Lehele tulevad ka nupud ja muid vidinaid.
Olen täna natuke maadelnud süsteemiga.
See kood, mis ülal välja pakkusin, ei tööta. Lehte, kus need AWP'd, peab füüsiliselt uuesti laadima. JS'ga ei osanud ma sealt midagi küsida.
Kas on võimalik äkki teha varjatud iframe, mida pidevalt uuendatakse ning sealt võetakse parent lehele muutujate väärtused ning uuendatakse div'de sisu?
Kommentaarid: 46 loe/lisa Kasutajad arvavad:  :: 1 :: 0 :: 45
tagasi üles
vaata kasutaja infot saada privaatsõnum
andrusny
Kreisi kasutaja
andrusny

liitunud: 20.03.2006




sõnum 19.12.2012 09:09:11 vasta tsitaadiga

Vaata Jquery poole, lihtne load() peaks sinu mure lahendama.
_________________
Kommentaarid: 7 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 7
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
raxz
HV Guru

liitunud: 27.07.2003




sõnum 19.12.2012 10:19:37 vasta tsitaadiga

andrusny kirjutas:
Vaata Jquery poole, lihtne load() peaks sinu mure lahendama.

load() pöördub siis mingi faili poole, mis annab talle info edasi? Kuidas ma seda edasi kasutada saan?
Ma ei taha mingit kindlat lehe osa laadida vaid tahan saada muutujad, millega saaks arvutusi teha.
Kommentaarid: 46 loe/lisa Kasutajad arvavad:  :: 1 :: 0 :: 45
tagasi üles
vaata kasutaja infot saada privaatsõnum
mikk36
HV Guru
mikk36

liitunud: 21.02.2004



Online

sõnum 19.12.2012 13:07:56 vasta tsitaadiga

raxz, kui sul kindel ports muutujaid, väärtuseid vms, siis võid need otse javascripti faili salvestada ja sealsamas sees toimetada?
Kommentaarid: 85 loe/lisa Kasutajad arvavad:  :: 0 :: 2 :: 78
tagasi üles
vaata kasutaja infot saada privaatsõnum
raxz
HV Guru

liitunud: 27.07.2003




sõnum 19.12.2012 17:03:15 vasta tsitaadiga

mikk36 kirjutas:
raxz, kui sul kindel ports muutujaid, väärtuseid vms, siis võid need otse javascripti faili salvestada ja sealsamas sees toimetada?
kusjuures see on päris hea mōte. Proovin kunagi.
Kommentaarid: 46 loe/lisa Kasutajad arvavad:  :: 1 :: 0 :: 45
tagasi üles
vaata kasutaja infot saada privaatsõnum
andrusny
Kreisi kasutaja
andrusny

liitunud: 20.03.2006




sõnum 19.12.2012 19:50:38 vasta tsitaadiga

See funktsioon, mis andmeid loeks oleks midagi sellist
javascript:
  1.  
  2. <script type="text/javascript" src="jquery-1.4.2.min.js"></script>
  3. <script>
  4.  var andmed = 0;
  5. $(document).ready(function(){
  6.  
  7. function ref(){
  8.  $('#box').load('data.php');
  9. // teed oma andmetega seda mis soovid
  10. alert(andmed);
  11. }
  12.  
  13. $('#n1').click(function(){
  14.         ref();
  15. });
  16.  
  17. });
  18.  
  19.  
  20. </script>
  21. </head>
  22. <body>
  23.  
  24. <div id="box"></div>
  25. <input type="button" value="Click" id="n1">


ja sisse loetavad andmed peaksid olema selliselt teisel lehel

<script>
andmed = 18;
</script>


Nupu asemele paned selle timeri, mis sul ennem oli ja kui teisel lehel muutujat viide muudad muutub see ka esimesel.

_________________
Kommentaarid: 7 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 7
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
näita postitusi alates eelmisest:   
uus teema   vasta Tarkvara »  WWW »  Javascripti muutuja muutumine uuendab veebilehte
[vaata eelmist teemat] [vaata järgmist teemat]
 lisa lemmikuks
näita foorumit:  
 ignoreeri teemat 
sa ei või postitada uusi teemasid siia foorumisse
sa ei või vastata selle foorumi teemadele
sa ei või muuta oma postitusi selles foorumis
sa ei või kustutada oma postitusi selles foorumis
sa ei või vastata küsitlustele selles foorumis
sa ei saa lisada manuseid selles foorumis
sa võid manuseid alla laadida selles foorumis



Hinnavaatlus ei vastuta foorumis tehtud postituste eest.