Hast Du jquery 3.5.1 auf der SPS?
Den String habe ich bewusst nochmal in die Hauptseite eingebaut um nachzuverfolgen, ob Daten ankommen. Damit ich das ausschließen kann.
Ich habe nun in der Hauptseite das unten reingepackt. Oben fängt es mit Zeile 486 an und hört mit 495 auf.Code:$(document).ready(function(){ $.ajaxSetup({ cache: false }); setInterval(function() { $.get("read.htm", function(result){ var Word = result.split("/"); $('#age').html(Word[0].replace(/('|+)/g, "")); $('#ligthBarrier').html(Word[1].replace(/('|+)/g, "")); }); },1000); });
Dann kommt folgende Fehlermeldung:
EDIT: Fehler ist behoben, wenn ich |+ aus dem Code entferne. Allerdings zeigt er mir immer noch nichts auf der Hauptseite an.Code:4index.html:491 Uncaught SyntaxError: Invalid regular expression: /('|+)/: Nothing to repeat at Object.success (index.html:491) at fire (jquery-3.5.1.js:3496) at Object.fireWith [as resolveWith] (jquery-3.5.1.js:3626) at done (jquery-3.5.1.js:9786) at XMLHttpRequest.<anonymous> (jquery-3.5.1.js:10047)
Habe ich vielleicht die Falsche jquery Bib?
Die read.htm Seite sieht momentan so aus:
Code:<!DOCTYPEHTMLPUBLIC"-//W3C//DTD HTML 4.01 Transitional//EN"><html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" > </head> <body> :="Plc2Web".testString: </body> <script src="https://code.jquery.com/jquery-3.5.1.js" integrity="sha256-QWo7LDvxbWT2tbbQ97B53yJnYU3WhH/C8ycbRAkjPDc=" crossorigin="anonymous"></script> <script type="text/javascript" src="./page-js.js"></script> </html>
Erfahrung in JavaScript etwas, da ich mich viel mit ioBroker beschäftige. Bei Web Programmierung, bekomme ich einfache Seiten hin. Habe allerdings noch nie etwas mit der Bib jQuery zu tun.
Last edited by Malaus; 23.02.2021 at 10:43.
Hast Du jquery 3.5.1 auf der SPS?
Der Fehler ist weg - siehe oben (Rot)
Wie meinst du das auf der SPS? ich habe das als
unter beiden Seiten stehen.Code:<scriptsrc="https://code.jquery.com/jquery-3.5.1.js"integrity="sha256-QWo7LDvxbWT2tbbQ97B53yJnYU3WhH/C8ycbRAkjPDc="crossorigin="anonymous"></script>
UPDATE:
Habe nun in der read.html nur den String drin stehen. Und ein console.log in die Funktion eingebaut.
Nun steht im Log, die Variable von age. Verändere ich sie auf der SPS, verändert sich auch sofort die Zahl.Code:console.log('word' + Word[0]);
Leider wird sie immer noch nicht auf der Website angezeigt.
Last edited by Malaus; 23.02.2021 at 11:05.
Leider meldet mich die Seite manchmal nach dem schreiben ab, und verdreht dann beim Anmelden diverse Sonderzeichen, bzw. war das "+" was anders.
Generell würde ich die aktuelle Version der "jquery-3.4.1.min.js" (bei mir ist halt noch die alte drinnen) auf die SPS geben, da du sonst ja einen Internetzugang zum abarbeiten des Codes brauchst.
Eingebunden wird sie dann so: (in dem Fall im Unterordner jquery)
<script type="text/jscript" src = "jquery/jquery-3.4.1.min.js" ></script>
Rest folgt
Nochmal die Zeile:
Beide Zeilen so korrigieren.Code:$('#age').html(Word[0].replace(/('|+)/g, ""));
Rest folgt
Bau in die Anzeige Seite das console.log mit age und den zweiten wert ein.
Last edited by JoGi65; 23.02.2021 at 11:40.
Ich habe nun eine Datei für die query Bib erstellt, nur wenn ich diese einbinden möchte, kommt die folgende Fehlermeldung:
- jquery-3.5.1WebInt: Die Zeichenfolge "]]" ist nicht erlaubt in Dateien mit dynamischem Inhalt. Die Datei wird ignoriert. in Datei: C:\Users\Documents\sps\jquery-3.5.1.js Zeile: 620 Spalte: 25,23.02.2021,11:51:48
Die Zeilen sind korrigiert und console log war vorher schon auf der Hauptseite. Habe das zu schlecht kommuniziert.
Ebenfalls habe ich inzwischen mehrere Varianten durch:
Ich habe das replace mal wegelassen, falls dass das Problem ist.
Code:$('#age').html(Word[0]);Code:$('#age').text(Word[0]);nirgends zeigt er mir was sinnvolles an.Code:$('#age').var(Word[0]);
Nur da zeigt es mir den Wert der Variable an.Code:console.log('#age ' + Word[0]);
Es gibt eine jquery und eine jquery.min ("jquery-3.4.1.min.js"). Würde die min allein wegen der Größe empfehlen.
Wenn er im console.log schon den richtigen Wert anzeigt, fehlt ja nur mehr die Anzeige auf der Webseite, oder?
Hast Du für beide Variable eine richtige Anzeige im console.log?
Code:$('#age').html(Word[0]);Hier zeigt er mir das hier an:Code:console.log('#age text ' + $("#age").html());
es kann wohl nicht den Wert Word[0] in #age schreiben.page-js.js:12 #age text undefined
Bei
Bekomme ich den richtigen Wert von Word[0].Code:console.log('#age ' + Word[0]);
Zeig einmal den Bau vom Sendestring, bzw. die Sendestringwerte der SPS aus der SPS und aus der Webseite.
Ich habe gemeint, ob das zerlegen funktioniert. Du kannst ja nicht zwei variable gleich bezeichen.
In deinem Beispiel oben
sind ja zwei werte.Code:$('#age').html(Word[0].replace(/('|+)/g, "")); $('#ligthBarrier').html(Word[1].replace(/('|+)/g, ""));
ok, jetzt verstehe ich. Du bekommst es nicht ins age. Wobei ich die Syntax von console nicht kenne. ist das sicher so richtig? Weil text ist was anderes als html.
Bookmarks