Nun habe ich auch mal eine Frage [emoji6]
Kann ich im Fehlerfall (nachdem ich die Antwort mit JS ausgewertet habe) direkt in das WF einen ‚Fehler‘ ausgeben?
Also genauso wie das Original, als lokale Notification, wie sonst auch Fehler bei Aktionen/Scripten angezeigt werden?
Würde den Fehler dem WF gerne irgendwie unterschieben, aber keine Ahnung wie ich das machen könnte.
Michael
Theoretisch kannst du ja mal schauen wo ich ein Element im DOM hinzufüge und welche CSS Klassen dran sind. Wenn du also selber eine passende Nachricht "fake"st, dann ist das möglich. Vorgesehen ist das aber nicht
Jaaaa… Genau das ist mein (als JS-Dau) Problem.
Ich verstehe nicht wirklich was da passiert. Wie und wo ein Fehler geworfen wird, habe ich auch gefunden.
Aber da hört es dann auf…
Hätte ja sein können dass es da einen netten Einzeiler gibt
Michael
Nene. Aber du kannst ja so eine Meldung mal schicken ohne Timeout. Und dann im Browser schauen, was du so angelegt wurde… Ich glaube das ist recht weit oben und irgendwas mit „notification“.
Ja das geht zu Fuß tatsächlich einfacher als gedacht.
Nachteil ist nur das es (noch) nicht schön faded
Und man selbst einen Eventhandler braucht damit es beim anklicken verschwindet.
Wofür nutzt Du den xhrGET, wenn Du nicht als return definierst?
Der SetValue sollte korrekt sein. Schau im Objektbaum, ob sich der Wert auf Deine Angabe ändert. Wenn Dein Objekt ein Integer ist, kannst Du auch kein String hinschicken. Dieser wird korrektweise auch nicht gespeichert.
Ansonsten versuch die JS Funktion um dieses zu erweitern:
var HTTP;
if (window.XMLHttpRequest) {
HTTP = new XMLHttpRequest();
} else {
HTTP = new ActiveXObject(„Microsoft.XMLHTTP“);
}
Es geht mir nicht um PHP oder was in IPS passiert.
Es geht um das JS im Browser.
IE und Edge finden die JS-Funktion schon nicht.
IE und Chrome fressen alles…
Michael
Das Objekt unterstützt die Eigenschaft oder Methode „xhrGET“ nicht
Es geht mir noch immer nicht um den Inhalt der Funktion xhrGet (Ich mache einen Get auf einen Webhook und werte dessen Antwort aus).
Sondern einfach darum, dass IE und Edge keine in der HTMLBox deklarierte Funktion(en) finden können
Oder funktioniert das bei dir ?
Edit: Ok… die Ursache liegt wohl einfach daran, dass der IE & Edge nachträglich in das DOM eingefügte JS nicht parsen.
Selbst eine simple MessageBox funktioniert nicht.
Den Code in den Events führt er aber aus… komisch
Edit2:
Wenn ich nun den Funktionsausdruck ebenfalls in das Event verlagere und dort dann die Funktion aufrufe, funktioniert es.
Das ist doch murks, ich wollte nicht so viel unnötigen Overhead im HTML haben.
Michael
PS: Erklärt auch warum im IE das hinzufügen von Eventhandlern nicht erfolgt; wenn der Code gar nicht ausgeführt wird. Das war aber eine andere Baustelle
Habe eben mal einen anderen Test aufgebaut. Korrekt ist, dass die HTMLBOX im IE das <script> nicht in’s dom aufnimmt. Dies kann nur eines bedeuten: der ajax request der über die globale webfront js läuft wird nur eingelesen und nicht per eval geparsed. hier ist nur der ie strikt und lässt das script nicht im dom validieren. theoretisch sollte ein eval() in den part für das laden der htmlbox hinein. dann läuft es auch im ie.
Bei mir kann ich aus HTMLBoxen bestimmte Variablen nicht setzten. Als ich mir das näher angeschaut habe scheint wohl das Leerzeichen der Grund zu sein.
$HTML .= "<div id='Test1' class='zap' onclick=window.xhrRPC('/api/','SetValue',[22348 /*[Geräte\Kern Skripte\Test aus Webfront Var setzen\TestZap Dream]*/,'".$Sender."']);>".$Sender."</div>";
Wenn
$Sender = "TextohneLeerzeichen";
funktioniert das setzten der Variable, sobald aber
$Sender = "Text mit Leerzeichen";
ein Leerzeichen im String vorkommt wird die Variable nicht verändert. Was mache ich denn da falsch bzw. wie schreibe ich in eine Stringvariable ein Text mit Leerzeichen?