Autor Thema: Web Agent done auf neuer seite  (Gelesen 2482 mal)

Offline js84

  • Junior Mitglied
  • **
  • Beiträge: 90
  • Geschlecht: Weiblich
Web Agent done auf neuer seite
« am: 12.07.05 - 11:24:42 »
Hi,

ich und meine Agenten. :-)

Also ich hab jetzt nen Web Agenten, der tut. Wenn der gelaufen ist (durch Drücken eines Buttons über die URL aufgerufen) wird im Browser ne neue Seite geöffnet mit der URL und es steht "agent done" da.

Wie kann ich denn verhindern., dass er die neue Seite öffnet??

Ich muß den Agenten mit der URL aufrufen, da ich einige Parameter übergeben muß.

Wer kann mir helfen......???

 
LG Jana


Offline umi

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.062
  • Geschlecht: Männlich
  • one notes to rule'em all, one notes to find'em....
    • Belsoft AG
Re: Web Agent done auf neuer seite
« Antwort #1 am: 12.07.05 - 12:48:10 »
Hallo

So am Rande: Du könntest den Agent so Schreiben, dass er die Parameter aus dem aktuellen Dokument holt (siehe Notessession.DocumentContext). Dann brauchst Du die URL nicht zwingend zu parsen.

Zur Rückegabe gibts mehrere Möglichkeiten:
a) Du gibts via Print "...." eine Statusmeldung in HTML aus.
b) Du gibts Print "<script> window.close();</script>" , da wird das aktuelle Fenster gleich geschlossen.
c) Du gibst via Print "[" & url & "]" eine URL an den Browser. / url ist dabei die Adresse irgendeines Dokuments oder Designelements.
d) Du hast im Ursprünglichen Form ein $$Return Feld (Siehe Designerhelp)

gruss
umi
Gruss

Urs

<:~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Jegliche Schreibfehler sind unpeabischigt
http://www.belsoft.ch
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:>

Offline js84

  • Junior Mitglied
  • **
  • Beiträge: 90
  • Geschlecht: Weiblich
Re: Web Agent done auf neuer seite
« Antwort #2 am: 12.07.05 - 13:05:28 »
DAnke für die wie immer schnelle Hilfe.

Das ich die Parameter mit einer URL übergeben hat schon seine Berechtigung, da ich Feldnamen und nicht deren Inhalt übergebe  ;)

Aber wie auch immer VIELEN DANK

LG Jana

Offline umi

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.062
  • Geschlecht: Männlich
  • one notes to rule'em all, one notes to find'em....
    • Belsoft AG
Re: Web Agent done auf neuer seite
« Antwort #3 am: 12.07.05 - 13:27:08 »
Du kannst via dem DocumentContext auf alle Felder des aktuellen Dokuments zugreifen.
Gruss

Urs

<:~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Jegliche Schreibfehler sind unpeabischigt
http://www.belsoft.ch
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:>

Offline js84

  • Junior Mitglied
  • **
  • Beiträge: 90
  • Geschlecht: Weiblich
Re: Web Agent done auf neuer seite
« Antwort #4 am: 12.07.05 - 13:32:41 »
Ja, das weiß ich doch,
ich will den Agenten für ein  Feld laufen lassen. Abhängig davon wo der Button gedrückt wird muß der Agent für eine anderes Feldlaufen.

Offline umi

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.062
  • Geschlecht: Männlich
  • one notes to rule'em all, one notes to find'em....
    • Belsoft AG
Re: Web Agent done auf neuer seite
« Antwort #5 am: 12.07.05 - 13:43:26 »
Ok, Da hat der Kaffeemangel meine Linsen getrübt... :-)
Gruss

Urs

<:~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Jegliche Schreibfehler sind unpeabischigt
http://www.belsoft.ch
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:>

Offline datenbanken24

  • Senior Mitglied
  • ****
  • Beiträge: 390
  • Geschlecht: Männlich
  • Stammgast
    • datenbanken24
Re: Web Agent done auf neuer seite
« Antwort #6 am: 12.07.05 - 14:52:47 »
Umi hat eigentlich schon alles gesagt,
ein ?OpenAgent kann ja fast nur mit einem "window.open" angetriggert werden und macht damit immer ein kleines Fenster auf. Genau wie von Umi vorgeschlagen, gibt der Agent dann einfach das JS-Close-Script aus, und schließt sein Fenster gleich selber wieder.

Wen dieses (kurzzeitige) Minifenster aber absolut noch stört,
kann dies mit etwas Aufwand und einem kleinen Trick umgehen,
(den einzigen, den ich hierfür kenne):

Man nehme irgendein sichtbares oder unsichtbares Image-Objekt innerhalb der HTML-Seite
und weise die Source-Property (per Button oder schon beim HTML Aufbau) über den Agenten zu.

form.imagename.src = .../agent?openagent&para

oder

getElementByname(imagename).src = .../agent?openagent&para

Wenn das Image sichtbar ist, muss der Agent nichts weiter als einen Pfad zu einem Image zurückgeben,
z.B. .../xyz.gif

Wenn das Image unssichtbar oder nur 1x1 groß ist, ist sogar das schnuppe, aber nicht die schönste Programmierung, weil man ja absichtlich einen Fehler programmiert... (den aber keiner sieht...)

Hiermit kann man Domino-Agenten auf dem Server aufrufen,
OHNE das zusätzliche Fenster.

Bei anderen Form-Properties geht das leider nicht,
ein form.inputfeld.value = .../agent?openagent&para
wäre ZU schön und einfach, um wahr zu sein.

Das kommt dann wahrscheinlich erst demnächst mit den Domino WebServices.

Gruß,
Uwe

Offline js84

  • Junior Mitglied
  • **
  • Beiträge: 90
  • Geschlecht: Weiblich
Re: Web Agent done auf neuer seite
« Antwort #7 am: 12.07.05 - 15:25:32 »
Also bei mir öffnet der kein kleines Fenster sondern schreibt die URL des Agentenaufrufs in das aktuelle Fenster.

Woran kann das denn jetzte liegen ?

*verzweifelt*

Offline umi

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.062
  • Geschlecht: Männlich
  • one notes to rule'em all, one notes to find'em....
    • Belsoft AG
Re: Web Agent done auf neuer seite
« Antwort #8 am: 12.07.05 - 15:27:49 »
Wie wird den dein Agent aufgerufen?
a) mit @settargetframe und @urlopen
b) JavaScript?

gruss
umi
Gruss

Urs

<:~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Jegliche Schreibfehler sind unpeabischigt
http://www.belsoft.ch
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:>

Offline js84

  • Junior Mitglied
  • **
  • Beiträge: 90
  • Geschlecht: Weiblich
Re: Web Agent done auf neuer seite
« Antwort #9 am: 12.07.05 - 15:29:59 »
Mit
@URLOpen
Ich hab keine Frames, weil ich das alles ´mit Portlets mach und darstelle

Offline umi

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.062
  • Geschlecht: Männlich
  • one notes to rule'em all, one notes to find'em....
    • Belsoft AG
Re: Web Agent done auf neuer seite
« Antwort #10 am: 12.07.05 - 15:33:59 »
Ich weiss jetzt nicht ob es was nützt aber versuch mal mit
@settargetframe("_blank");
@urlopen(Dein Agent)

Damit wird der Agent explizit in einem neuen Fenster geöffnet.

alternativ könntest Du auch mit JS das den Agent öffnen:
"window.open(url)"
gruss
umi
Gruss

Urs

<:~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Jegliche Schreibfehler sind unpeabischigt
http://www.belsoft.ch
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:>

Offline js84

  • Junior Mitglied
  • **
  • Beiträge: 90
  • Geschlecht: Weiblich
Re: Web Agent done auf neuer seite
« Antwort #11 am: 13.07.05 - 10:40:30 »
So also ich hab das jetzt so gemacht das der Agent mit @URLOpen aufgerufen wird und am ende soll er zurück in das Dokument springen, von dem er aufgerufen wurde.

Was jetzt mein Problem ist, ist dass er in das Parentdocument springt und er aber in einem Response doucument aufgerufen wurde.

Woran kann das jetzt schon wieder liegen ?
das is echt zum heulen

Offline umi

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.062
  • Geschlecht: Männlich
  • one notes to rule'em all, one notes to find'em....
    • Belsoft AG
Re: Web Agent done auf neuer seite
« Antwort #12 am: 13.07.05 - 12:56:36 »
Was macht der Agent am schluss den?
Gruss

Urs

<:~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Jegliche Schreibfehler sind unpeabischigt
http://www.belsoft.ch
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:>

Offline js84

  • Junior Mitglied
  • **
  • Beiträge: 90
  • Geschlecht: Weiblich
Re: Web Agent done auf neuer seite
« Antwort #13 am: 13.07.05 - 13:18:28 »
Am ende ruft er mit Print "[" "]" die URL mit der Docid des Dokumentes auf.

so:

Set doc=s.DocumentContext
docid=doc.UniversalID

targeturl$="http://host/db/0/" & docid & "?OpenDocument"
   Print "["  & targeturl$ & "]"

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz