loswerden Im Rahmen der Portierung einer Legacy-Anwendung auf GWT müssen wir unsere vorhandenen JSPs in unserer GWT-App einbetten. Viele dieser Seiten sind ziemlich lang, was zu einer doppelten Bildlaufleiste führt - eine für das Fenster der Haupt-App und eine zweite für den Inhalt des Rahmens. Ich möchte die interne Bildlaufleiste loswerden und habe nur die normale Browser-Bildlaufleiste im Hauptfenster. Wenn ich die Höhe des gerenderten Inhalts (den gesamten scrollbaren Bereich) erreichen könnte, könnte ich einfach die Höhe meines Rahmens einstellen, um das zu erreichen, aber ich sehe nicht, wo ich diese Information bekommen würde.wie Doppel-Scrollbars auf internen Rahmen der GWT-App
BEARBEITEN: um zu verdeutlichen, GWT ist die Haupt App Navigation und verwendet iframes (com.google.gwt.user.client.ui.Frame
), um den Legacy-Inhalt einzubetten. Was ich versuche, ist, die Seite groß genug zu machen, so dass der eingeschlossene Rahmen keine Bildlaufleisten benötigt; Nur die Host-Seite wird geblättert. Wenn es eine Möglichkeit gibt, den "scrollbaren Bereich" eines Rahmens zu bestimmen, könnte ich die Hauptseite dynamisch anpassen, um sie anzupassen.
2. EDIT: Ich endete mehr oder weniger nach Jack M Vorschlag. Aber anstatt HTTPRequest zu verwenden, habe ich den RequestBuilder verwendet, was es einfach macht. Ich wollte diesen Weg gehen, den HTML manuell zu greifen, anstatt einen Rahmen von Anfang an zu verwenden, aber wurde dadurch behindert, dass ich die URLs in den gehosteten Seiten "reparieren" musste; Es gibt viele Instanzen relativer URLs, die repariert werden müssen, um zu funktionieren, wenn der Benutzer das gehostete HTML "durchklickt". Historisches Navigieren funktioniert damit auch etwas mühsam. Sobald ich meinen Code ein wenig aufgeräumt habe, werde ich versuchen, ihn irgendwo zu veröffentlichen, wo Leute darauf kommen können, denn ich bin mir sicher, dass dies ein häufiger Anwendungsfall für Leute sein muss, die bestehende Apps zu GWT migrieren.
In meiner GWT App erstelle ich ein Frame-Objekt. Dann mache ich frame.setUrl ("/ path/to/legacy_content") - also lädt der Browser im Grunde eine neue Seite in den Frame. Der ältere Inhalt wird zufällig von einer JSP generiert. –
ist es möglich, die Bildlaufleisten zu entfernen, aber es ist nicht möglich, die Seite "fit" den Rahmen zu machen, was ich verstehe, was Sie eigentlich wollen. Wenn Sie die Bildlaufleiste wirklich verschwinden lassen wollen, setzen Sie den Überlauf des Rahmens auf none. – Chii