Das Notes Forum

Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: hOtze am 03.08.04 - 16:51:15

Titel: Agent durch JavaScript starten
Beitrag von: hOtze am 03.08.04 - 16:51:15
 Hallöle,

ne frage... ist es möglich einen LS agent im web durch Javascript zu starten?

Problem ist: Ich lasse mir durch JS eine Universal ID in ein Feld eintragen, nun wollte ich anhand dieser ID mit einem LS agent die weitere Informationen aus dem entsprechenden Dokument (mit der ID) ziehen Deshalb mein gedanke im onchange event des übertrag-ID-Feldes den Agent zu triggern.

Oder habt ihr vielleicht ne besser Idee wie ich sowas lösen könnte?

Greetz hotze
Titel: Re:Agent durch JavaScript starten
Beitrag von: Gandhi am 03.08.04 - 18:08:54
Theoretisch geht folgendes:
via JavaScript neues Fenster mit der URL eines Web-Agents aufrufen, die Daten aus dem Fenster auslesen und dieses Fenster wieder schließen (geht, da es aus diesem Script aufgerufen wurde).
Das Fenster kannst Du auf .visible=false setzen - dann sieht der Anwender nicht mal was von dem Trick...

Anders geht das aber auch mit einem Java Applet, dass mit JavaScript kommuniziert - so die Browsereinstellungen es denn zulassen. Da hast Du dann alle Kommunikationsmöglichkeiten mit dem 'Heimserver'.
Titel: Re:Agent durch JavaScript starten
Beitrag von: hOtze am 04.08.04 - 10:06:21
danke gandhi für deinen Tip.  Werde das mal ausprobieren.

DBLookup funktioniert nicht im web, oda? Sonst hätte ich das ja auch die informationen über berechnete Felder einlesen können. hab ja die id.

Hm ... muß wohl noch en bissel züchten, danke dir!


Titel: Re:Agent durch JavaScript starten
Beitrag von: Glombi am 04.08.04 - 10:09:23
@DbLookup geht im Web !

Andreas
Titel: Re:Agent durch JavaScript starten
Beitrag von: hOtze am 05.08.04 - 12:40:21
hm .... hatte immer noch keinen erfolg.
DBLookup hatte nicht gefluppt, und wenn ich ein weiters fenster öffne kann ich dann dort zwar die adress daten auslesen, hab dann aber probleme die daten in das Ursprüngliche fenster zu übertragen.

Gibts in Javascript eine art delay breake, oder sonstiges?
Problem ist das er die werte nicht übertragen kann. erstelle ich in window a 2 buttons... eionen zum öffnen des neuen fensters und einen zum übertragen der werte funktioniert es.... aber inerhalb einer function klappt es nicht! ;(
Titel: Re:Agent durch JavaScript starten
Beitrag von: umi am 05.08.04 - 15:46:55
In R6 kannst Du mit @getDocField anhand der ID werte holen.

Andere Möglichkeit wäre einen Button auf im Form zu machen, wo Du den Agent starten kannst mit @command([]).
Die Button kannst du mit javascript dann ausführen.
Code
<div style="display:none">
<Button mit ID>
</div>

<script>
var button = document.getElementById("ID des Button");
button.click();
</script>

oder so ähnlich.


Titel: Re:Agent durch JavaScript starten
Beitrag von: hOtze am 05.08.04 - 15:53:18
hallo , danke für deinen Hinweis. Auf die Idee mit dem Button bin ich noch gar nicht gekommen.. ... den könnte ich dann ja auch verstecken.

Hm .. dann versuch ich das so mal,
danke dir!

Titel: Re:Agent durch JavaScript starten
Beitrag von: animate am 05.08.04 - 15:57:17
wenn du im Frontend (Browser) was änderst, dann klappt ein DBLookup nur, wenn du das Dokument wieder zum Webserver sendest, der die entsprechenden Berechnungen bzw. Lookups durchführt und das Dokument wieder zum Browser schickt.
Titel: Re:Agent durch JavaScript starten
Beitrag von: hOtze am 05.08.04 - 16:14:21
@umi
stehe in deiner schuld, deine Idee hat mich endlich zur Lösung geführt! Nochmals ein ganz dickes mercie! Jetzt kann ich endlich die Adressauswahl fertigstellen, bin schon fast wahnsinnig darüber geworden! Danke danke danke! ;)


@ Thomas Völk
würde bedeuten das dokument müßte erst submitet werden, oda? wollte ich eigentlich vermeiden. Aber schonmal gut das zu wissen, Dankeschön!


Kacke..... zu früh gefreut .... jetzt hab ich wieder en Timming Problem!
hatte testhalber mir einen ausgelesen wert mal als alert ausgeben lassen , aber der alert wird schon ausgeführt bevor der agent fertig gelaufen ist. ;(

Oh mann was für ein rattenschwanz ....