Skip to content

JavaScript

2.5k Topics 49.5k Posts

Hilfe für Skripterstellung mit JavaScript

NEWS

  • (gelöst) HTML DOM scrollTop Property

    javascript
    8
    0 Votes
    8 Posts
    531 Views
    OliverIOO
    @ice987 sagte in HTML DOM scrollTop Property: im basic HMTL-Widget brauche ich in kein vollständiges "HTML-Gerüst", d.h. ich kann "<!DOCTYPE html><html><head></head></html>" weglassen ja genau, du hast ja bereits ein html/head/body-konstrukt, das dir bereits vis bereitstellt. vis fügt dir das widget in die vorhandene seite an entsprechender stelle ein. ich habe nochmal ein paar änderungen vorgenommen, da das td-test-element in einer tabelle so keine klicks empfangen kann. daher ein separater button, der eine funktion aufruft, wo zum einen der dp gesetzt wird und zum anderen dir direkt anzeigt ob es funktioniert. bei mir hat es soweit funktioniert. Spoiler [{"tpl":"tplHtml","data":{"g_fixed":false,"g_visibility":false,"g_css_font_text":false,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"g_last_change":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","refreshInterval":"0","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0,"html":"<!-- myDIV definiert einen Bereich mit angegebener Höhe/Breite; overflow-y auto zeigt den Scrollbalken an, wenn Inhalt grösser als Bereich, overflow-y hidden verbietet die Anzeige eines Scrollbalken -->\n<style>\n#myDIV {\n height: 597px;\n width: 375px;\n overflow-y: auto;\n overflow-x: hidden;\n}\n</style>\n\n<!-- definition einer Variablen mit dem Namen counter, welche den (initial) Wert 0 zugewiesen wird\n myFunction(): Funktion wird definiert\n counter+=1: (oder: counter = counter + 1) In der Variable \"counter\" werden die Anzahl der Aufrufe von myFunction() gezählt: dem bereits bestehenden Wert wird Zähler 1 addiert\n var elmnt: document.getElementById(\"myDIV\"): der Variable mit Namen \"elmt\" wird die Referenz zu \"myDIV\" zugewiesen\n var y = elmnt.scrollTop: der Variable mit dem Namen \"y\" zählt die Pixel vom oberen Elementrand\n document.getElementById (\"demo\").innerHTML: dem oben definierten Abschnitt <p></p> mit id=demo wird gefüllt mit dem Text \"Vertically: \" dem Pixelwert aus Variable \"y\" dem Text \"px; counter= \" und dem Wert der Aufrufe von Variable \"counter\"\n -->\n <script>\n var counter = 0;\n \n function myFunction() {\n counter+=1;\n var elmnt = document.getElementById(\"myDIV\");\n var y = elmnt.scrollTop;\n document.getElementById (\"demo\").innerHTML = \"Vertically: \" + y + \"px; counter= \"+counter;\n }\n</script>\n\n\n\n<!-- myFunction1(): Funktion wird definiert\n var elmnt: document.getElementById(\"myDIV\"): der Variable mit Namen \"elmt\" wird die Referenz zu \"myDIV\" zugewiesen\n elmnt.scrollTop = 200: der vorhin definierten Variable elmnt, welche auf das div mit id=\"myDIV\" verweist wird der Befehl erteilt, vom oberen Elementrand 200px nach unten zu scrollen\n-->\n<script>\nfunction myFunction1() {\n var elmnt = document.getElementById(\"myDIV\");\n elmnt.scrollTop = 200;\n}\n</script>\n\n<script>\nfunction myFunction2() {\n var elmnt1 = document.getElementById(\"myDIV\");\n var y1 = elmnt1.scrollTop;\n return y1; \n}\nfunction myFunction3() {\nservConn.setState('0_userdata.0.liste.scrollPos', myFunction2())\n document.getElementById (\"demo\").innerHTML = \"Click\";\n}\n</script>\n\n<!-- definition eines Paragraphen mit dem Namen \"demo\" -->\n<p id=\"demo\">.</p>\n<button onclick=\"myFunction3()\">scrollpos</button><br>\n<!-- button onclick: löst die Funktion myFunction1() beim Draufklicken aus -->\n<button onclick=\"myFunction1()\">Scroll contents of div</button><br>\n<!-- defintion des Abschnittes mit dem Namen \"myDiv\", beim jeweiligen scrollen dieses Bereiches wird immer die Funktion \"myFunction()\" ausgelöst -->\n<div id=\"myDIV\" onscroll=\"myFunction()\">\n <table>\n <tr>\n <td>\n blabla\n <br><br><br><br>\n </td>\n </tr>\n <tr>\n <td>\n blabla\n <br><br><br><br>\n </td>\n </tr>\n <tr>\n <td>\n blabla\n <br><br><br><br>\n </td>\n </tr>\n <tr>\n <td>\n blabla\n <br><br><br><br>\n </td>\n </tr>\n <tr>\n <td>\n blabla\n <br><br><br><br>\n </td>\n </tr>\n <tr>\n <td>\n blabla\n <br><br><br><br>\n </td>\n </tr>\n <tr>\n <td>\n blabla\n <br><br><br><br>\n </td>\n </tr>\n <tr>\n <td>\n blabla\n <br><br><br><br>\n </td>\n </tr>\n <tr>\n <td>\n blabla\n <br><br><br><br>\n </td>\n </tr>\n <tr>\n <td>\n blabla\n <br><br><br><br>\n </td>\n </tr>\n <tr>\n <td>\n blabla\n <br><br><br><br>\n </td>\n </tr>\n <tr>\n <td>\n blabla\n <br><br><br><br>\n </td>\n </tr>\n <tr>\n <td>\n blabla\n <br><br><br><br>\n </td>\n </tr>\n <tr>\n <td>\n blabla\n <br><br><br><br>\n </td>\n </tr>\n</table>\n</div>"},"style":{"left":"0px","top":"44px","width":"375px","height":"597px","overflow-x":"hidden","overflow-y":"hidden"},"widgetSet":"basic"}]
  • Schedule per Tastendruck starten und stoppen

    6
    0 Votes
    6 Posts
    761 Views
    F
    @paul53 Super, danke dir, funktioniert. Ich hab die Befehle noch etwas erweitert, er setzt mir beim Starten jetzt auch noch eine nVariable auf true, beim Beenden auf False, so kann ich alles besser überwachen ...
  • [Vorlage] Alias-Erstellung: enum-alias-devices

    2
    3
    0 Votes
    2 Posts
    949 Views
    KodijackK
    @cpio Erstmal danke fürs Teilen, sehr nett! Mir fehlte irgendwie eine Funktion das Ganze etwas zu vereinfachen/automatisieren. Leider will das Script nicht so recht bei mir obwohl ich meine deiner Anleitung brav gefolgt zu sein. [image: 1603144377590-665ce41e-ca2e-43d1-950b-4d65566c2357-image.png] Enum "aliasdevices" ist vorhanden, testweise einen Raum mit 3 Lichtern/Schaltern hinzugefügt.
  • OnChange weiter einschränken (Ursprung)

    3
    0 Votes
    3 Posts
    491 Views
    R
    @UncleSam Vielen Dank, ich glaube dass mir das weiterhilft.
  • 0 Votes
    23 Posts
    1k Views
    liv-in-skyL
    @wendy2702 zeile 7: mein script hat einen fehlerfehler zeile 9 und 10 überprüfen - sind laufende scripte und habe evtl den eben erklärten fehler andere zeilen: scripte haben evtl diesen fehler, sind aber nicht aktiv und daher nicht so wichtig zu überprüfen wäre nur: zeile 9 und 10 ist in dem script von zeile 9 und 10 alles ok - kann dir das script im moment nicht helfen
  • Synchrone Datenübertragung RS232 - Hilfe...

    3
    0 Votes
    3 Posts
    431 Views
    S
    @UncleSam Erstmal danke - Da ich mich hier als absoluter Programmier-Anfänger outen muss: Hast Du einen Beispielcode oder kannst Du mir anhand meines Scriptes erklären was ich da wo ändern muss? Danke schon mal...
  • Online JPG local Speichern

    7
    0 Votes
    7 Posts
    705 Views
    UncleSamU
    @Staubi0815 sagte in Online JPG local Speichern: Wie hast du den HAproxy laufen als Docker? Ja, ich verwende HAproxy immer in Docker. Allerdings habe ich nicht denselben Anwendungsfall wie du. Hier eine Beispiel-Config, die deine URLs weiterleiten sollte: global user root group root defaults log global mode http balance roundrobin timeout connect 5000 timeout client 50000 timeout server 50000 frontend http bind *:8123 acl is_image_url path_beg /images/ use_backend amazon-images if is_image_url default_backend amazon-images backend amazon-images mode http server amazon-images m.media-amazon.com:443 ssl verify none Die Zeile use_backend amazon-images if is_image_url ist in deinem Fall überflüssig, aber so hast du die Möglichkeit, weitere Backends hinzuzufügen, mit denen du auf andere Server weiterleitest. Der Server hört auf Port 8123 (musst du je nachdem noch freigeben in der Container Station) und dann kannst du theoretisch mit der folgenden URL darauf zugreifen: http://<dein-nas>:8123/images/I/71mM8KostdL.UL600.jpg Leider macht der Proxy zusammen mit CloudFront ein Problem. Aber ich denke, das kannst du sicher lösen.
  • Verständnisproblem Parameter bei on/subscribe

    3
    0 Votes
    3 Posts
    316 Views
    C
    @AlCalzone Super, vielen Dank für die schnell Erklärung :-)
  • Werte von States ändern, ohne Aktion zu triggern

    javascript
    3
    0 Votes
    3 Posts
    430 Views
    GaspodeG
    @UncleSam Herzlichen Dank. Manche Dinge können so einfach sein, wenn man weiß wie es geht. Funktioniert einwandfrei. :)
  • Dateiliste aus FTP Folder und Subfolder auslesen

    13
    0 Votes
    13 Posts
    2k Views
    E
    Hallo @gcaruso Ich möchte das auch so ähnlich machen wie du. Ich habe auch in ein FTP Verzeichnis meine .mp4 Dateien von der Kamera gespeichert. Leider bin ich nicht so fit in der Programmierung. Das meiste habe ich bisher über Blockly geregelt. :) Könntest du mal mal bitte dein Skript ganz zeigen? Ist das alles? var Client = require('ftp'); var fs = require('fs'); var c = new Client(); c.on('ready', function() { c.list(function(err, list) { if (err) throw err; console.log(list); c.end(); }); }); // connect to localhost:21 c.connect({ host: "192.168.***.***", user: "*************", password: "**************" }); z.B: Wo wird dieser Befehl eingetragen? javascript.1 2020-08-09 10:10:28.895 info (29206) script.js.FTP_Auslesen: [{'type':'d','name':'video','sticky':false,'rights':{'user':'rwx','group':'rwx','other':'rwx'},'acl':false,'owner':'*********','group':'**********','size':4096,'date'
  • json aus Tankerkönig Adapter parsen

    18
    0 Votes
    18 Posts
    3k Views
    S
    @liv-in-sky bei mir füttert es das "MaterialDesign Table"... das klappt super...
  • HTML Tabelle für Email Postfach

    javascript template
    21
    4
    0 Votes
    21 Posts
    4k Views
    liv-in-skyL
    @sigi234 leider kann man nicht im nachhinein keine spalten löschen - wäre ein neues script - dieses script ist letztlich nur als vorlage gedacht - man könnte auch andere sender anzeigen und da wäre das subject interessant du könntest es nur noch mehr kürzen [image: 1602680741892-image-14.png] zeile ändern: [image: 1602680751254-image-13.png] [image: 1602680770268-image-11.png] "$2" entfernen
  • [gelöst] Globale Scripte mit Codevervollständigung

    javascript
    6
    1
    0 Votes
    6 Posts
    859 Views
    moelskiM
    @pk68 Ok das scheint dann wohl ein Cache Problem zu sein. Habe den Browser Cache mal leer gemacht und nun habe ich auch meine Logger2 Funktion :-)
  • [gelöst]Datenpunkt erstellen aus respons

    10
    0 Votes
    10 Posts
    1k Views
    F
    @UncleSam Guten Morgen, und danke an alle die mir bis jetzt schon einiges geschrieben haben,, Die Datenpunkte brauch ich um die Zustände des Relays weiter geben zu können.. mir war klar das es nicht einfach ist und mit Node Red ist es natürlich möglich jedoch ist es wieder ein Adapter mehr ,, trotzdem danke für deine Zeit .
  • Javascript ein/ausschalten über VIS mit Anzeige des Status

    6
    0 Votes
    6 Posts
    670 Views
    HomoranH
    @funcarv3r bei Javascript werden eigentlich die Skripte nie gestoppt. Dafür sind Trigger da. Die Skripte laufen durchgängig und lauschen ob der Trigger kommt, dann wird das Skript abgearbeitet.
  • [gelöst] Script-Engine kein global-Verzeichnis mehr

    5
    1
    0 Votes
    5 Posts
    290 Views
    M
    @Thomas-Braun javascript 4.9.0 Soll das so sein? [image: 1602528838428-29298cd5-b6df-4be0-a135-1dd30bfce429-image.png] Bislang war es doch so, dass wenn man nach einem Wort gesucht hat, wurden alle Scripte angezeigt in denen das Wort vorkam?
  • Instance von vis auch in JS einsetzen

    javascript
    13
    0 Votes
    13 Posts
    1k Views
    ice987I
    @Glasfaser Wäre der Aufwand sehr groß , ein Projekt pro Gerät zu erstellen !?? Das müsste ich mal durchdenken... eigentlich wäre ja bis auf DP’s der Navigation alles unverändert.
  • Trigger-Auslösung bei variablem Wert

    4
    0 Votes
    4 Posts
    552 Views
    B
    @paul53 sagte in Trigger-Auslösung bei variablem Wert: @BJC sagte: wie dieses Script aussehen muss? Siehe Funktions-Doku. valGe: 0.5 Hallo Paul, kurze Rückmeldung von mir, nachdem ich das Script abgeändert habe. Funktioniert einwandfrei Vielen Dank für Deine Hilfe.
  • Doppelter Channel mit setObject

    javascript
    4
    1
    0 Votes
    4 Posts
    289 Views
    M
    @MCU Wie kann man denn so etwas abfangen?
  • 2 Javascript Fragen SetState

    6
    0 Votes
    6 Posts
    400 Views
    hg6806H
    Gefunden. "Wandle Eingang nach Zahl". Hat geklappt. Danke.

506

Online

32.9k

Users

83.2k

Topics

1.3m

Posts