2012-03-30 15 views
0

Ich habe eine Webanwendung, wo das Fenster ein Frameset mit zwei vertikal aufgeteilten Frames enthält. Ich möchte, dass sich die Webanwendung daran erinnert, wohin die Frame-Splitter-Linie verschoben wurde, damit beim nächsten Laden der Seite der Frame-Splitter an der Position gezeichnet wird, an der er verlassen wurde.Wie speichere ich eine Frame Splitter Position und stelle sie später wieder her?

Wie machen Menschen das normalerweise?

Derzeit nachdem ein Benutzer den Splitter an die neue Position gezogen hat, Ich versuche, die onmouseup Ereignis zu verwenden, um die clientWidth des linken Rahmens zu erhalten, und speichern Sie die clientWidth in einer Datenbank für den späteren Abruf. Das Problem besteht darin, dass die clientWidth des Frames während des onmouseup Ereignisses die Breite des Frames an der neuen Splitterposition nicht zurückgibt, sondern die Breite des Frames an der alten Position zurückgibt. Es scheint, dass bei dem Ereignis onmouseup der Splitter noch nicht an der neuen Position gerendert wurde, daher lädt meine Anwendung die Seite nicht mit dem Splitter an der letzten gespeicherten Position.

Antwort

0

Anstatt das Ereignis onmouseup zu verwenden, habe ich das onresize Ereignis des Rahmens verwendet, das gibt mir die Position des Splitters an der neuen Position.

-1

Ich weiß egsactly nicht, aber ich bin so etwas wie dies zu tun:

i

fwidth=window.parent.document.getElementById('frameA').width; 

einen Javascript-Code in einem der Rahmen hinzugefügt haben, nachdem ich diese Breite in Cookie speichern werden und zur Wiederherstellung der Positionen mit ihm


jetzt versuche ich, ein Ereignis wie Onchange zu machen, aber jetzt ohne Erfolg :(