Zuviel Werbung? - > Hier kostenlos beim SPS-Forum registrieren

Page 4 of 5 FirstFirst ... 2345 LastLast
Results 31 to 40 of 48

Thread: S7 -1200 HTML Array of Struct lesen mit JavaScript

  1. #31
    Malaus is offline Neuer Benutzer
    Themenstarter
    Join Date
    12.02.2021
    Posts
    21
    Danke
    2
    Erhielt 0 Danke für 0 Beiträge

    Default


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Den String habe ich bewusst nochmal in die Hauptseite eingebaut um nachzuverfolgen, ob Daten ankommen. Damit ich das ausschließen kann.

    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);
          });
    
    Ich habe nun in der Hauptseite das unten reingepackt. Oben fängt es mit Zeile 486 an und hört mit 495 auf.

    Dann kommt folgende Fehlermeldung:

    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)
    EDIT: Fehler ist behoben, wenn ich |+ aus dem Code entferne. Allerdings zeigt er mir immer noch nichts auf der Hauptseite an.
    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.

  2. #32
    Join Date
    03.02.2016
    Location
    Steiermark/Austria
    Posts
    135
    Danke
    22
    Erhielt 16 Danke für 12 Beiträge

    Default

    Hast Du jquery 3.5.1 auf der SPS?

  3. #33
    Malaus is offline Neuer Benutzer
    Themenstarter
    Join Date
    12.02.2021
    Posts
    21
    Danke
    2
    Erhielt 0 Danke für 0 Beiträge

    Default

    Der Fehler ist weg - siehe oben (Rot)
    Wie meinst du das auf der SPS? ich habe das als

    Code:
    <scriptsrc="https://code.jquery.com/jquery-3.5.1.js"integrity="sha256-QWo7LDvxbWT2tbbQ97B53yJnYU3WhH/C8ycbRAkjPDc="crossorigin="anonymous"></script>
    unter beiden Seiten stehen.


    UPDATE:

    Habe nun in der read.html nur den String drin stehen. Und ein console.log in die Funktion eingebaut.
    Code:
    console.log('word' + Word[0]);
    Nun steht im Log, die Variable von age. Verändere ich sie auf der SPS, verändert sich auch sofort die Zahl.

    Leider wird sie immer noch nicht auf der Website angezeigt.
    Last edited by Malaus; 23.02.2021 at 11:05.

  4. #34
    Join Date
    03.02.2016
    Location
    Steiermark/Austria
    Posts
    135
    Danke
    22
    Erhielt 16 Danke für 12 Beiträge

    Default

    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:
    Code:
    $('#age').html(Word[0].replace(/(&#x27;|&#x2b;)/g, ""));
    Beide Zeilen so korrigieren.

    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.

  5. #35
    Malaus is offline Neuer Benutzer
    Themenstarter
    Join Date
    12.02.2021
    Posts
    21
    Danke
    2
    Erhielt 0 Danke für 0 Beiträge

    Default

    Ich habe nun eine Datei für die query Bib erstellt, nur wenn ich diese einbinden möchte, kommt die folgende Fehlermeldung:

    WebInt: 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
    - jquery-3.5.1

    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]);
    Code:
    $('#age').var(Word[0]);
    nirgends zeigt er mir was sinnvolles an.

    Code:
    console.log('#age ' + Word[0]);
    Nur da zeigt es mir den Wert der Variable an.

  6. #36
    Join Date
    03.02.2016
    Location
    Steiermark/Austria
    Posts
    135
    Danke
    22
    Erhielt 16 Danke für 12 Beiträge

    Default

    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?

  7. #37
    Malaus is offline Neuer Benutzer
    Themenstarter
    Join Date
    12.02.2021
    Posts
    21
    Danke
    2
    Erhielt 0 Danke für 0 Beiträge

    Default

    Code:
    $('#age').html(Word[0]);
    Code:
    console.log('#age text ' + $("#age").html());
    Hier zeigt er mir das hier an:
    page-js.js:12 #age text undefined
    es kann wohl nicht den Wert Word[0] in #age schreiben.

    Bei
    Code:
    console.log('#age ' + Word[0]);
    Bekomme ich den richtigen Wert von Word[0].

  8. #38
    Join Date
    03.02.2016
    Location
    Steiermark/Austria
    Posts
    135
    Danke
    22
    Erhielt 16 Danke für 12 Beiträge

    Default

    Zeig einmal den Bau vom Sendestring, bzw. die Sendestringwerte der SPS aus der SPS und aus der Webseite.

  9. #39
    Join Date
    03.02.2016
    Location
    Steiermark/Austria
    Posts
    135
    Danke
    22
    Erhielt 16 Danke für 12 Beiträge

    Default

    Ich habe gemeint, ob das zerlegen funktioniert. Du kannst ja nicht zwei variable gleich bezeichen.
    In deinem Beispiel oben

    Code:
     $('#age').html(Word[0].replace(/(&#x27;|+)/g, ""));
                $('#ligthBarrier').html(Word[1].replace(/(&#x27;|+)/g, ""));
    sind ja zwei werte.

  10. #40
    Join Date
    03.02.2016
    Location
    Steiermark/Austria
    Posts
    135
    Danke
    22
    Erhielt 16 Danke für 12 Beiträge

    Default


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    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.

Similar Threads

  1. Replies: 2
    Last Post: 18.03.2020, 15:15
  2. Replies: 4
    Last Post: 23.04.2017, 02:08
  3. Step 7 Web2PLC javascript array
    By SPS_Progger in forum Simatic
    Replies: 0
    Last Post: 18.02.2014, 09:44
  4. Problem mit ARRAY - STRUCT
    By Jörg_24 in forum Simatic
    Replies: 14
    Last Post: 31.03.2011, 16:08
  5. Problem mit lesen von struct
    By cyberlight in forum Simatic
    Replies: 4
    Last Post: 01.07.2005, 07:35

Tags for this Thread

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •