Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. Image reload

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    Image reload

    This topic has been deleted. Only users with topic management privileges can see it.
    • arteck
      arteck Developer Most Active last edited by

      ich suche eine Möglichkeit ein Image alle x Stunden neu zu laden

      ich habe ein widget "jqui - html - dialog" mit folgendem Code unter "HTML"

      ` >

      onload='setTimeout(function() {src = src.substring(0, (src.lastIndexOf("t=")+2))+(new Date()).getTime()},3600000)'

      onerror='setTimeout(function() {src = src.substring(0, (src.lastIndexOf("t=")+2))+(new Date()).getTime()}, 5000)'

      alt='' /> `

      erwarte dass alle 3600000 milisekunden das teil neu geladen wird .. macht es aber nicht…

      jemand eine Idee wie es gehen könnte ??

      1 Reply Last reply Reply Quote 0
      • M
        mariohbs last edited by

        Also wenn es nur um ein Bild geht, kannst du doch das Widget "Image" nehmen. Dort kann der Intervall für Aktualisierung ja eingetragen werden.

        Den Intervall dann über das Feld eintragen, da der Slider nicht weit genug reicht. Gespeichert wird der Wert dann aber auf alle Fälle.

        1 Reply Last reply Reply Quote 0
        • arteck
          arteck Developer Most Active last edited by

          @mariohbs:

          Also wenn es nur um ein Bild geht, kannst du doch das Widget "Image" nehmen. Dort kann der Intervall für Aktualisierung ja eingetragen werden.

          Den Intervall dann über das Feld eintragen, da der Slider nicht weit genug reicht. Gespeichert wird der Wert dann aber auf alle Fälle. `

          kurz und knapp…NEIN...

          ich brauche genau das "jqui - html - dialog" Widget... ich mache noch paar sachen mit den dialog bei draufklicken..

          p.s.. mit dem Image weiss ich auch das es geht..es ist aber nicht klickbar

          1 Reply Last reply Reply Quote 0
          • AlCalzone
            AlCalzone Developer last edited by

            @arteck:

            ![](meinbild.png)
            ```` `  
            

            Fast korrekt, hier eine kurze Erklärung was falsch läuft:

            src verweist nicht (wie du vermutlich erwartest) auf die URL des -Objekts, sondern auf eine (nicht definierte) Variable.

            Auf die URL des kannst du in onload/onerror mit ****this.****src zugreifen.

            Jetzt ist das Problem aber, dass setTimeout eine Funktion des Window-Objekts ist, d.h. in der Callback-Funktion verweist this nicht mehr auf das .

            Daher musst du im Event-Handler den Wert von this zwischenspeichern, etwa so (nachher alles in eine Zeile zusammenfassen):

            onload = "
            	var that = this;
            	setTimeout(function() {
            		that.src = that.src.substring([...])
            	}, 3600000);
            "
            
            
            1 Reply Last reply Reply Quote 0
            • arteck
              arteck Developer Most Active last edited by

              ich hasse javascript…

              aber eher so

              onload = "
              	setTimeout(function() {
              	   var that = this;
              	    that.src = that.src.substring([...])
              	}, 3600000);
              "
              
              
              1 Reply Last reply Reply Quote 0
              • AlCalzone
                AlCalzone Developer last edited by

                Nein, eben nicht so. Die Zuweisung ist in deinem Code unnötig, da könntest du auch direkt this verwenden.

                Die Variable that muss außerhalb setTimeout den Wert von this zugewiesen bekommen, da sie dort noch auf das img verweist.

                Innerhalb der Callback-Funktion verweist this auf das Window-Objekt. Die vorherige Zuweisung stellt sicher, dass du Zugriff auf das img hast.

                1 Reply Last reply Reply Quote 0
                • arteck
                  arteck Developer Most Active last edited by

                  axo

                  1 Reply Last reply Reply Quote 0
                  • First post
                    Last post

                  Support us

                  ioBroker
                  Community Adapters
                  Donate
                  FAQ Cloud / IOT
                  HowTo: Node.js-Update
                  HowTo: Backup/Restore
                  Downloads
                  BLOG

                  773
                  Online

                  32.0k
                  Users

                  80.3k
                  Topics

                  1.3m
                  Posts

                  3
                  7
                  875
                  Loading More Posts
                  • Oldest to Newest
                  • Newest to Oldest
                  • Most Votes
                  Reply
                  • Reply as topic
                  Log in to reply
                  Community
                  Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                  The ioBroker Community 2014-2023
                  logo