Domino 9 und frühere Versionen > Entwicklung

JavaScript + Fenster öffnen WEB

(1/4) > >>

robertpp:
Hallo, ich hab mir in der Ansicht einen Button erstellt der mir im Web ein Doc mit einer Größe und einer Position öffnet.

var pathname = window.location.pathname;
var key
filename = pathname.substring(0,(pathname.lastIndexOf('nsf')+4))
key="08efb5252a31dbc4c1256db70051a0e9/0c03262f77efca3fc1256db000572c51"
newWindow = window.open(filename +  key + '?OpenDocument','secondary_window','toolbar=no,location=no,scrollbars=yes,directories=no,height=500,width=600')
newWindow.moveTo(screen.width/2-300,screen.height/2-250);

So nun ist meine Frage:
1. Wie bekomm ich das hin wenn ich in der Ansicht doppelt auf das Doc klicke das er mir das Fenster mit der Größe und Position und mit dem jeweiligen Doc öffnet.(da ja "key" derzeit fix ist)
2. Wie kann ich das verbessern das er mir zuerst das Fenster auf der Position öffnet und dann den Inhalt auf das Doc setzt da man sonst zuerst das Fenster sieht und dann wird es erst verschoben.

danke robert

Axel Janssen temp:
2. Du kannst in dem window.open 2 weitere Parameter hinzufügen (left, top, screenX, screenY). Die haben genau die gleiche Funktion wie dein moveTo.
O.k. das waren jetzt 4. Aber wenn ich mich recht entsinne gab es zumindest unter MS, NS-Browsern der Version 4 irgendwelche standardinkonformen Kuriositäten.
Hier ist ein Beispiel:
http://selfhtml.teamone.de/javascript/objekte/window.htm#open

1. durch eine Ansichts-Spaltenformel. Geh mal davon aus, dass das für Browser ist. Das endet dann meist in einer "treat content as html"-Ansicht mit total vielen tr und noch mehr td tags.
Wieso eigentlich "doppelt auf das doc klicken. Ist das fürs Internet? Da kennt man doch keine doppelklicks. Mich würde das verwirren.

animate:
zu 1: ich würde den Code, den du schon hast in eine Funktion packen diese Funktion in den Header der Seiten einbauen.
in der Ansicht dann die Spaltenformel so formulieren, dass sie die Funktion aufruft, und zwar immer mit der jeweiligen ID des Dokuments (Zeichenkette zusammenbasteln mit @DocumentUniqueID + dem JS-Funktionsaufruf javascript:openWindow(diverse Parameter))

Doppelklick hast du in Notes soviel ich weiß nur dann, wenn du Ansichten durch das ViewApplet anzeigen lässt. Das müsstest du mit dieser Methode dann deaktivieren.

zu 2: der Methode open des window-Objekts kannst du IIRC Positionsangaben mitgeben (schau einfach mal in SelfHTML nach, da ist das bestimmt beschrieben)

robertpp:
Danke für die schnelle Antwort!!
Das Problem 2. hab ich gelöst. Die Parameter gibt es ja wirklich. :D

So nun jetzt zu 1.: Das ganze findet im Browser statt. Ich würde aber gerne die Ansicht durch das ViewApplet anzeigen lassen da man dann eben mit doppleklick arbeiten kann und die Ansicht auch schöner ist.
Ist dann das ganze trotzdem zu realisieren? und wie genau?
Ich hab ein $$ViewTemplate for test für meine Anischt gemacht.
Wie kann ich in der Spaltenformel das so formulieren das er die Funktion aufruft? Und wie kombiniere ich @DocId mit JS-aufruf?

Axel Janssen temp:

--- Zitat von: robertpp am 07.11.03 - 13:48:05 ---Danke für die schnelle Antwort!!
Das Problem 2. hab ich gelöst. Die Parameter gibt es ja wirklich. :D

So nun jetzt zu 1.: Das ganze findet im Browser statt. Ich würde aber gerne die Ansicht durch das ViewApplet anzeigen lassen da man dann eben mit doppleklick arbeiten kann und die Ansicht auch schöner ist.

--- Ende Zitat ---
Nein. Nein. Nein.
Tschuldigen.
Aber das verstösst IMHO gegen sämtliche GUI-Prinzipien.
1. Browser-Ansichten sind langsam und klumpig. Eben genau deshalb hat Lotus in neueren WebSchablonen den Applet-Unsinn durch DHTML ersetzt. Bedenke: Der Anwender wird frustriert von den lahmen, klumpigen Applets. Nachdem er 2 Tage damit gearbeitet hat, fängt er an zu Trinken. Er schlägt seine Frau und seine Kinder. Die Kinder werden zu Serienkillern. Willst du dafür verantwortlich sein ???
2. Für 5er Browser gibt es glaub ich auch das Event onDoubleClick.
3. Ein User erwartet im Browser keinen Doppel Klick.

Gruß Axel

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln