Tame 4

tom_x

Level-1
Beiträge
52
Reaktionspunkte
10
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Leute,

da ich nicht weiß, wer TAME 3 nutzt, setzt ich die Info mal über das Forum ab, um vwenigstens ein paar zu erreichen.

Folgendes Problem: Die für Standardisierung zuständige WHATWG hat synchrone XMLHtttpRequests außerhalb von Webworkern als "depricated" deklariert. Chrome gibt schon länger eine Warnung in der Konsole aus und die Browser werden irgendwann den Support einstellen. Es wird nicht gleich heute oder morgen passieren, aber es wird. TAME 3 nutzt synchrone Requests für das Holen der Symbolinformationen aus der TwinCAT-SPS und der TPY-Datei vom Webserver. Sollte der Support eingestellt werden, werden Projekte mit TAME 3 nicht mehr funktionieren.

Ich habe heute die V4.0 online gestellt und kann nur empfehlen, bei Gelegenheit umzusteigen. Durch die asynchronen Requests müsste ihr aber eure Scripte anpassen. Funktionen, die auf den Client zugreifen, sollten über die neue onReady-Funktion gestartet werden. Beispiele und Doku habe ich angepasst. Die neue Version unterstützt auch Handles. Für die Verwendung mit Tasker können nach wie vor synchrone Requests erzwungen werden. Ich habe noch nicht beim Entwickler nachgefragt, aber ich gehe davon au, dass Tasker weiterhin synchrone Requests unterstützt.

Probleme bite hier posten oder eine Mail schreiben (Adresse im Kopf der tame.js enthalten). Viel Spass!

http://tomcx.github.io/tame4/
 
Hi tom_x,

ich habe deine Bib erfolgreich mit dem Internet-Explorer getestet, leider funktioniert es bei mir mit Chrome leider nicht. Die JavaScript Console gibt folgendes aus:

Code:
TAME library version: V4.1.1 170923tame.js:11 TAME library info: Target information: NetId: 5.37.200.188.1.1, AMS port: 801 , alignment: 4
tame.js:11 TAME library info: Start fetching the symbols from PLC.
10.1.1.30/tcadswebservice/tcadswebservice.dll Failed to load resource: the server responded with a status of 500 (Internal Server Error)
index.html:1 Failed to load http://10.1.1.30/tcadswebservice/tcadswebservice.dll: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://10.1.1.7' is therefore not allowed access. The response had HTTP status code 500.
tame.js:11 TAME library error: XMLHttpRequest returns an error. Status code : 0

Da meine JS-Kenntnisse ziemlich beschränkt sind und ich glaube, dass ich nicht der einzige bin, der mit Chrome unterwegs ist, poste ich das hier in deinem Thread.
Für jede Hilfe bin ich dankbar, für Brotkrumen ebenfalls.

Viele Grüße

Edit:
So wie ich das verstehe, ist dies eine Sicherheitseinstellung, da von einer externen Quelle (CX9020) die dll geladen werden soll, mein Webserver aber auf dem PI läuft. Und leider kann man diese Sicherheitsfunktion scheinbar nicht mehr deaktivieren... nur in meinem "alten" Internetexplorer geht das noch...
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

wie schon richtig erkannt, ist das ein Sicherheitsmechanismus und hat nichts mit JS bzw. der Bibliothek zu tun.

https://de.wikipedia.org/wiki/Same-Origin-Policy

Es gibt wohl Browser, bei denen man das abschalten kann. Halte ich aber nicht für sinnvoll.

http://socialbit.de/wissensdatenban...in-meinem-browser-zu-testzwecken-deaktivieren

Eine Lösung bietet CORS. Damit kann man definieren, von welche Quelle Daten geladen werden dürfen.

https://de.wikipedia.org/wiki/Cross-Origin_Resource_Sharing

Hier sind Beispiele, wie man CORS aktiviert (auch für den Apache):

http://enable-cors.org

Viel Erfolg,

Tom
 
Zuletzt bearbeitet:
Zurück
Oben