Skip to content
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Logo
  1. ioBroker Community Home
  2. Deutsch
  3. Visualisierung
  4. [gelöst] HTML in VIS ändert Aussehen/Inhalt Editor

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.0k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    1.8k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    15
    1
    2.0k

[gelöst] HTML in VIS ändert Aussehen/Inhalt Editor

[gelöst] HTML in VIS ändert Aussehen/Inhalt Editor

Scheduled Pinned Locked Moved Visualisierung
5 Posts 2 Posters 293 Views 2 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • H Offline
    H Offline
    Heinz2100
    wrote on last edited by Heinz2100
    #1

    Hallo, bei mir ändert sich teilweise der VIS-Editor (Abstände, Spracht, Inhalt), wenn ich ein HTML-Feld einfüge und dort Code programmiere. Wie kann man das umgehen? Ist das normal?

    Screenshot 2023-06-12 103103.jpg

    OliverIOO 1 Reply Last reply
    0
    • H Heinz2100

      Hallo, bei mir ändert sich teilweise der VIS-Editor (Abstände, Spracht, Inhalt), wenn ich ein HTML-Feld einfüge und dort Code programmiere. Wie kann man das umgehen? Ist das normal?

      Screenshot 2023-06-12 103103.jpg

      OliverIOO Offline
      OliverIOO Offline
      OliverIO
      wrote on last edited by
      #2

      @heinz2100

      dann hast du wahrscheinlich auch css-anweisungen hinzugefügt.
      CSS wirkt immer auf das komplette html dokument, auch wenn es nur in einem html-widget eingetragen wurde

      du musst deine css anweisungen kapseln, so das sie tatsäclich nur die elemente im widget betreffen.

      dazu zeigst du am besten mal deinen code

      Meine Adapter und Widgets
      TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
      Links im Profil

      H 2 Replies Last reply
      0
      • OliverIOO OliverIO

        @heinz2100

        dann hast du wahrscheinlich auch css-anweisungen hinzugefügt.
        CSS wirkt immer auf das komplette html dokument, auch wenn es nur in einem html-widget eingetragen wurde

        du musst deine css anweisungen kapseln, so das sie tatsäclich nur die elemente im widget betreffen.

        dazu zeigst du am besten mal deinen code

        H Offline
        H Offline
        Heinz2100
        wrote on last edited by
        #3

        @oliverio Das wäre beispielsweise folgender Code:

        <!DOCTYPE html>
        <html>
        <head>
            <title>Tagesschau.de - Alle Meldungen</title>
        </head>
        <body>
            <h1>Tagesschau.de - Alle Meldungen</h1>
            <ul>
                <script>
                    var xhttp = new XMLHttpRequest();
                    xhttp.onreadystatechange = function() {
                        if (this.readyState == 4 && this.status == 200) {
                            var xmlDoc = this.responseXML;
                            var items = xmlDoc.getElementsByTagName("item");
        
                            // Umgekehrte Schleife, um Artikel von neu nach alt zu sortieren
                            for (var i = items.length - 1; i >= 0; i--) {
                                var title = items[i].getElementsByTagName("title")[0].textContent;
                                var link = items[i].getElementsByTagName("link")[0].textContent;
                                var pubDate = items[i].getElementsByTagName("pubDate")[0].textContent;
        
                                var listItem = document.createElement("li");
                                var linkElement = document.createElement("a");
                                linkElement.href = link;
                                linkElement.textContent = title;
                                listItem.appendChild(linkElement);
                                listItem.innerHTML += " - " + pubDate;
                                document.querySelector("ul").appendChild(listItem);
                            }
                        }
                    };
                    xhttp.open("GET", "https://www.tagesschau.de/infoservices/alle-meldungen-100~rss2.xml", true);
                    xhttp.send();
                </script>
            </ul>
        </body>
        </html>
        
        
        OliverIOO 1 Reply Last reply
        0
        • OliverIOO OliverIO

          @heinz2100

          dann hast du wahrscheinlich auch css-anweisungen hinzugefügt.
          CSS wirkt immer auf das komplette html dokument, auch wenn es nur in einem html-widget eingetragen wurde

          du musst deine css anweisungen kapseln, so das sie tatsäclich nur die elemente im widget betreffen.

          dazu zeigst du am besten mal deinen code

          H Offline
          H Offline
          Heinz2100
          wrote on last edited by
          #4

          @oliverio Hab dann nicht mehr weiterprogrammiert. Eigentlich wollte ich mir mit dem HTML die Inhalte des RSS Feeds Tagesschau ziehen. Der RSS Adapter funktioniert bei mir nämlich irgendwie nicht so gut. Die Widgets werden nur angezeigt, wenn ich den ioBroker neu starte und dann ist der VIS-Editor auf einmal auf Englisch bzw. es ist gar keine Sprachwahl mehr möglich.

          1 Reply Last reply
          0
          • H Heinz2100

            @oliverio Das wäre beispielsweise folgender Code:

            <!DOCTYPE html>
            <html>
            <head>
                <title>Tagesschau.de - Alle Meldungen</title>
            </head>
            <body>
                <h1>Tagesschau.de - Alle Meldungen</h1>
                <ul>
                    <script>
                        var xhttp = new XMLHttpRequest();
                        xhttp.onreadystatechange = function() {
                            if (this.readyState == 4 && this.status == 200) {
                                var xmlDoc = this.responseXML;
                                var items = xmlDoc.getElementsByTagName("item");
            
                                // Umgekehrte Schleife, um Artikel von neu nach alt zu sortieren
                                for (var i = items.length - 1; i >= 0; i--) {
                                    var title = items[i].getElementsByTagName("title")[0].textContent;
                                    var link = items[i].getElementsByTagName("link")[0].textContent;
                                    var pubDate = items[i].getElementsByTagName("pubDate")[0].textContent;
            
                                    var listItem = document.createElement("li");
                                    var linkElement = document.createElement("a");
                                    linkElement.href = link;
                                    linkElement.textContent = title;
                                    listItem.appendChild(linkElement);
                                    listItem.innerHTML += " - " + pubDate;
                                    document.querySelector("ul").appendChild(listItem);
                                }
                            }
                        };
                        xhttp.open("GET", "https://www.tagesschau.de/infoservices/alle-meldungen-100~rss2.xml", true);
                        xhttp.send();
                    </script>
                </ul>
            </body>
            </html>
            
            
            OliverIOO Offline
            OliverIOO Offline
            OliverIO
            wrote on last edited by OliverIO
            #5

            @heinz2100

            Ich sehe 2.Punkte
            1)
            Das hinzufügen des html-Tags innerhalb eines html Tags ist nicht zulässig.
            Deine. Vorlage war gedacht als eigenständige Seite zu funktionieren.
            Trage in das html Widget nur den Code zwischen den Body Tags hinzu.

            Der Befehl in Zeile 28

            document.querySelector("ul")

            Sucht den ersten Tag ul im Dokument und fügt dort dann alle gefundenen rss Inhalte hinzu
            Wenn im gesamten Dokument genau nur ein ul zu finden ist, passt das.
            In vis sind aber wahrscheinlich ganz viele ul vorhanden.
            Also werden die Elemente halt beim ersten gefundenen hinzugefügt.

            Ich würde dem ul Tag ein class Attribut mit einem eindeutigen Namen

            <ul class=„myul“></ul>
            

            hinzufügen und die Zeile 28 dann mit dem Befehl tauschen

            
            document.querySelector(".myul").appendChild(listItem);
            
            

            Außerdem würde ich den Script Anteil aus dem ul element heraus verschieben.

            Die Anführungsstriche sind natürlich immer die gleichen, also oben. Das iPad macht mir hier aber immer die lexikalischen, also erst unten und dann oben.

            Meine Adapter und Widgets
            TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
            Links im Profil

            1 Reply Last reply
            0
            Reply
            • Reply as topic
            Log in to reply
            • Oldest to Newest
            • Newest to Oldest
            • Most Votes


            Support us

            ioBroker
            Community Adapters
            Donate

            539

            Online

            32.4k

            Users

            81.3k

            Topics

            1.3m

            Posts
            Community
            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
            ioBroker Community 2014-2025
            logo
            • Login

            • Don't have an account? Register

            • Login or register to search.
            • First post
              Last post
            0
            • Recent
            • Tags
            • Unread 0
            • Categories
            • Unreplied
            • Popular
            • GitHub
            • Docu
            • Hilfe