-
Die
Erfindung betrifft ein Verfahren und eine Anordnung zum visuellen
Darstellen von Inhalten auf einem Darstellungsmittel, insbesondere
auf einem Bildschirm eines Personalcomputers oder Computernetz-Arbeitsplatzes.
Dabei werden die Inhalte zumindest einer Quelle entnommen und in
einer Mehrzahl von Fenstern auf dem Darstellungsmittel dargestellt,
wobei die Fenster von einer einzigen Instanz eines Browsers verwaltet
werden. Die Quelle ist über ein
Datenübertragungsnetz
(insbesondere das Internet bzw. das World Wide Web) mit dem Darstellungsmittel
verbindbar oder verbunden. Die Fenster können während eines Betriebes des Browsers
erzeugt und mit einem von der Quelle übertragenen Inhalt versehen
werden. Der Browser wird durch Code mit einer Layout-Beschreibungssprache,
insbesondere HTML und/oder XML, gesteuert.
-
Unter
dem Begriff HTML werden alle bekannten Versionen und zukünftigen
Versionen verstanden, einschließlich
Dialekte und Abwandlungen.
-
Unter
dem Begriff Fenster wird insbesondere ein hinsichtlich seiner Position
auf dem Darstellungsmittel bewegliches Fenster, hinsichtlich seiner
Größe veränderliches
Fenster und/oder ein solches Fenster verstanden, das andere dargestellte
Inhalte und/oder Fenster überlappen
kann bzw. von diesen überlappt werden
kann, (dynamisches Fenster) und noch spezieller ein Fenster, bei
dem die genannte Variation und/oder Veränderung während der Laufzeit des Browsers
durch einen Betrachter der Darstellung interaktiv veranlasst werden
kann (interaktives Fenster). Insbesondere dynamische und interaktives Fenster
unterscheiden sich von statischen Objekten, wie Blöcken (in
HTML beispielsweise durch das Element <div> codierbar)
und Frames, einschließlich eingebetteten
Frames (in HTML durch das Element <iframe> codierbar).
-
Es
ist beispielsweise bekannt, auf einem Personalcomputer, der an das
Internet angeschlossen ist, einen Standard-Browser wie z. B. den
Internet Explorer von Microsoft oder den Netscape Navigator zu betreiben.
Der Browser wird durch Code einer universellen, vom konkreten Browser
und Betriebssystem unabhängigen
Layout-Beschreibungssprache
gesteuert. Am weitesten verbreitet ist HTML. Die Layout-Beschreibungssprache
bietet eine Anzahl von allgemein definierten, einem Standard entsprechenden
Befehlen und Objekten (Sprachelemente). Über den Standard hinaus gibt
es Sprachelemente, die nur von bestimmten Browser verstanden und/oder
richtig interpretiert werden. Insgesamt ist die Layout-Beschreibungssprache
zwar systemunabhängig,
bietet jedoch nur begrenzte Möglichkeiten. In
vielen Fällen
macht der aus der Layout-Beschreibungssprache gebildete Code einen
wesentlichen Teil derjenigen Daten aus, die beim Laden eines Inhalts
zur Darstellung auf einem lokalen Bilddarstellungsmittel übertragen
werden. Der eigentliche darzustellende Inhalt wird beispielsweise
durch Text und Bilddaten definiert.
-
Von
Betriebssystemen zur Steuerung des Betriebes eines einzelnen Computers
ist es bekannt, grafische Ausgangsdaten verschiedener Programme oder
Instanzen von Programmen in jeweils einem separaten Fenster auf
einem Darstellungsmittel (z. B. Bildschirm) darzustellen. Dabei
besteht für
den Nutzer oder Programmierer eine Vielzahl von Möglichkeiten,
die gesamte Darstellung auf dem Darstellungsmittel zu verändern und
einzustellen. Insbesondere können
die Fenster hinsichtlich ihrer Größe einzeln skaliert werden,
verschoben werden, geschlossen oder minimiert werden, einander überlappen
und in den Hintergrund oder Vordergrund gebracht werden.
-
Ein
nur begrenzt gleichwertiges Ergebnis kann man im Fall der Verwendung
von Web-Browsern
dadurch erzielen, dass man mehrere Instanzen des Browsers oder verschiedener
Browser gleichzeitig betreibt und z. B. teilweise dieselben Inhalte
von Quellen des Datenübertragungsnetzes
in den Fenstern der verschiedenen Browserinstanzen darstellt. Nachteilig
daran ist bereits, dass der selbe Inhalt mehrfach von der Quelle
geladen werden muss.
-
Es
ist eine Aufgabe der vorliegenden Erfindung, ein Verfahren und eine
Anordnung der eingangs genannten Art anzugeben, die Möglichkeiten eines
Bild-Darstellungssystems zur Darstellung einer Mehrzahl von Fenstern
auf einem einzigen Darstellungsmittel für die Programmierung von solchen
Inhalten nutzbar machen, welche auf einer an das Datenübertragungsnetz
angeschlossenen Quelle zum Laden zur Verfügung stehen. Insbesondere soll
es einem Programmierer möglich
sein, eine übersichtliche Darstellung
von Teilinhalten der Quelle in verschiedenen Fenstern zu ermöglichen
und soll es für
den Betrachter möglich
sein, die Darstellung der Fenster während der Betrachtung zu verändern, wie
es bei fensterbasierten Betriebssystemen der Fall ist.
-
Die
Erfindung weist eine Mehrzahl von Aspekten auf, die – einzeln
oder in beliebigen Kombinationen miteinander – in Ausführungsformen des erfindungsgemäßen Verfahrens
bzw. der erfindungsgemäßen Anordnung
vorkommen. Anders ausgedrückt sind
die Aspekte voneinander unabhängig
realisierbar. Die folgende Beschreibung der Aspekte ist daher nicht
in der Weise einschränkend
zu verstehen, dass die Aspekte nur in Kombination miteinander offenbart sind.
-
Unter
anderem wegen der begrenzten Möglichkeiten
der Layout-Beschreibungssprache ist es an sich bekannt, Codeblöcke bzw.
Programme zusammen mit den zu übertragenden
Inhalten an der Quelle bereitzustellen und zusammen mit den Inhalten
zu dem Browser zu übertragen.
Am weitesten verbreitet sind Codeblöcke in der Skriptsprache Java Script.
Die Programme sind zur Steuerung des Browsers geeignet. Über ein
Document Object Model (DOM) können
sie die Steuerung des Browsers manipulieren. Dabei können sie
Codeelemente (insbesondere Objekte der Layout-Beschreibungssprache) verwenden und
die Standard-Codeelemente um eine Fülle von weiteren möglichen
Steuerungsbefehlen, Attributen und/oder andere Codeelemente ergänzen. Die
Verwendung der Standard-Codeelemente ist sinnvoll, da wiederum die
Möglichkeiten
der Codeblöcke
bzw. Programme zur Ausgabe von Grafikdaten begrenzt sind. Insgesamt
sind die Möglichkeiten der
Browser-Steuerung also wesentlich erweitert, wobei jedoch die Standard-Codeelemente
zur grafischen Darstellung verwendet werden. Außerdem werden die weiteren
Steuerungselemente nicht nur von bestimmten Browsern verstanden
und richtig interpretiert (wie es bei nicht dem Standard entsprechenden
Codeelementen der Fall ist), sondern von allen Browsern, die grundsätzlich die
Verwendung von derartigen Programmen erlauben.
-
Gemäß einem
ersten Aspekt der Erfindung wird vorgeschlagen, die zuvor beschriebenen
Codeblöcke
bzw. Programme im Fall einer Mehrzahl von Fenstern zu verwenden,
wobei die Fenster von einer einzigen Instanz eines Browsers verwaltet
werden und wobei zumindest einer der Codeblöcke oder eines der Programme
zu Beginn oder während
der Darstellung der Inhalte von dem Browser geladen wird, zur Laufzeit
des Browsers ausführbare
Befehle enthält
und die Erzeugung von Fenstern, deren Verwaltung und das Versehen
der Fenster mit den Inhalten steuert. Insbesondere weist der Codeblock
oder das Programm Codeelemente einer Skriptsprache wie JavaScript
auf.
-
Bei
einer bevorzugten Ausgestaltung ist die Größe des Codeblockes, der beim
ersten Laden eines Inhalts der Quelle mit heruntergeladen wird,
minimiert, um den Ladevorgang möglichst
kurz halten zu können.
Den Erfindern der vorliegenden Erfindung ist es gelungen, einen
Codeblock mit einer Größe von nur
25 bis 30 kByte zu generieren, der es erlaubt, eine komfortable
Mehrfensterdarstellung in der Art von fensterbasierten Betriebssystemen
zu steuern. Dabei sind noch weitere Aspekte der Erfindung realisiert,
wie z. B. der Aspekt, jeweils für
jedes Fenster eine Historie der bereits dargestellten Inhalte des Fensters
zu führen,
und der Aspekt eines sogenannten Deeplink, der tief auf Teilinhalte
einer Webseite zeigt. Der insbesondere für alle Fenster der Browserinstanz
gesetzte und/oder laufend aktualisierte Deeplink ermöglicht es,
gezielt auf bestimmte Inhalte oder Teilinhalte zuzugreifen. Auf
diese Aspekte wird noch näher
eingegangen.
-
Bei
der derzeit bekannten besten Ausführungsform der Erfindung weist
ein solcher Codeblock alle in dieser Beschreibung aufgeführten Aspekte
der Erfindung in Kombination auf, insbesondere mit den in der Figurenbeschreibung
beschriebenen speziellen Ausführungsmerkmalen.
-
Unabhängig von
oder in Kombination mit dem ersten Aspekt der Erfindung wird eine
Anordnung zum visuellen Darstellen von Inhalten auf einem Darstellungsmittel
vorgeschlagen, insbesondere auf einem Bildschirm eines Personalcomputers
oder Computernetz-Arbeitsplatzes, wobei die Anordnung folgendes
aufweist:
- – eine
Steuerungseinrichtung zum Steuern der visuellen Darstellung,
- – eine
Netzschnittstelle zum Anschließen
der Anordnung an ein Datenübertragungsnetz,
- – einen
Browser zum Laden von Inhalten von zumindest einer Quelle über das
Datenübertragungsnetz
und
- – eine
Darstellungsschnittstelle, um Darstellungsdaten zur Darstellung
der Inhalte zu dem Darstellungsmittel zu übertragen,
wobei der
Browser durch Code mit einer Layout-Beschreibungssprache, insbesondere
HTML und/oder XML, steuerbar ist und wobei die Steuerungseinrichtung
ausgestaltet ist, - a) die Inhalte in einer Mehrzahl
von Fenstern auf dem Darstellungsmittel darzustellen und dabei eine
einzige Instanz des Browsers zu steuern, wobei die einzige Instanz
die Mehrzahl der Fenster verwaltet, und
- b) die Fenster bei entsprechender Anforderung oder Programmierung
während
eines Betriebes des Browsers zu erzeugen und mit einem neu von der
Quelle übertragenen
Inhalt zu versehen.
-
Dabei
wird insbesondere vorgeschlagen, die Anordnung als ein kompaktes
Gerät zu
realisieren, das gegenüber
einem Personalcomputer reduzierte Fähigkeiten aufweist und speziell
für die
visuelle Darstellung der Inhalte ausgestaltet ist. Vorteil eines
solchen kompakten Geräts
sind eine reduzierte Größe und Komplexität, sodass
einerseits die Kosten für das
Gerät geringer
sind und andererseits eine zuverlässigere, insbesondere absturzsichere,
Arbeitsweise möglich
ist.
-
Neben
dem Verfahren und der Anordnung gehört ein Computerprogramm zum
Umfang der Erfindung, das bei Ablauf auf einem Computer oder Computer-Netz
das erfindungsgemäße Verfahren
in einer seiner Ausgestaltungen ausführt.
-
Weiterhin
gehört
zum Umfang der Erfindung ein Computerprogramm mit Programmcode-Mitteln, um
das erfindungsgemäße Verfahren
in einer seiner Ausgestaltungen durchzuführen, wenn das Programm auf
einem Computer oder Computer-Netz ausgeführt wird. Insbesondere können die
Programmcode-Mittel auf einem computerlesbaren Datenträger gespeichert
sein.
-
Außerdem gehört zum Umfang
der Erfindung ein Datenträger,
auf dem eine Datenstruktur gespeichert ist, die nach einem Laden
in einen Arbeits- und/oder Hauptspeicher eines Computers oder Computer-Netzes
das erfindungsgemäße Verfahren
in einer seiner Ausgestaltungen ausführen kann.
-
Auch
gehört
zum Umfang der Erfindung ein Computerprogramm-Produkt mit auf einem
maschinenlesbaren Träger
gespeicherten und/oder speicherbaren Programmcode-Mitteln, um das erfindungsgemäße Verfahren
in einer seiner Ausgestaltungen durchzuführen, wenn das Programm auf
einem Computer oder Computer-Netz ausgeführt wird.
-
Dabei
wird unter einem Computer-Programmprodukt das Programm als handelbares
Produkt verstanden. Es kann grundsätzlich in beliebiger Form vorliegen,
so zum Beispiel auf Papier oder einem computerlesbaren Datenträger und
kann insbesondere über
ein Datenübertragungsnetz
verteilt werden.
-
Der
bereits detailliert beschriebene Aspekt und die weiteren Aspekte
der Erfindung werden nun anhand der beigefügten Zeichnung beispielhaft
näher erläutert. Die
Erfindung ist jedoch nicht auf die Ausführungsbeispiele beschränkt. Die
einzelnen Figuren der Zeichnung zeigen schematisch:
-
1 ein
Computernetz mit einer daran angeschlossenen Anordnung zum visuellen
Darstellen von Inhalten auf einem Darstellungsmittel,
-
2 eine
Ausführungsform
einer Steuerungseinrichtung, die insbesondere Bestandteil der in 1 dargestellten
Anordnung ist,
-
3 eine
Darstellung von zwei Fenstern einer Browserinstanz innerhalb eines
Browserfensters,
-
4 eine
Darstellung einer seriellen Abarbeitung von Teilprozessen zum Darstellen
von Inhalten in mehreren Fenstern einer Browserinstanz,
-
5 eine
Darstellung eines Inhalt-Frames über
einem Skin-Frame,
-
6 eine
Explosionsdarstellung eines Inhalt-Frames und eines Skin-Frames
mit einem dazwischen liegenden, unsichtbaren Bildelement,
-
7 ein
Blockdiagram zur Erklärung
von Schritten zur Darstellung eines Ergebnisses der Übertragung
von Eingabedaten (insbesondere Formulardaten) und
-
8 eine
Darstellung eines Browserfensters mit einem darin enthaltenen Fenster,
welches vergrößert wird.
-
1 zeigt
ein Computernetz 1, bei dem eine Mehrzahl von Quellen 3a, 3b, 3c über Datenübertragungsverbindungen
miteinander verbunden sind. Eine Anordnung 2 zum visuellen
Darstellen von Inhalten auf einem Darstellungsmittel 7 weist
einen Browser 5 auf, der über eine Netzschnittstelle 4 an das
Computernetz 1 angeschlossen ist. Ferner weist die Anordnung 2 eine
Darstellungsschnittstelle 6 auf, über die die Anordnung 2 mit
dem Darstellungsmittel 7, insbesondere einem Bildschirm,
verbunden ist. Eine Steuerungseinrichtung 9 ist über eine
vorzugsweise bidirektionale Verbindung 8 mit dem Browser 5 verbunden.
-
Die
Steuerungseinrichtung 9 und der Browser 5 können durch
Hardware und/oder Software realisiert werden. Insbesondere sind
die Funktionen der Steuerungseinrichtung 9 durch einen
Codeblock bzw. ein Programm der zuvor beschriebenen Art definiert,
welcher bzw. welches (gemäß dem ersten
Aspekt der Erfindung) beim Laden eines Inhalts von einer der Quellen 3 zu
dem Browser 5 mit übertragen wird
und durch einen nicht näher
dargestellten Mikroprozessor der Anordnung 2 ausgeführt wird.
Da auch der Browser von dem selben Mikroprozessor ausgeführt werden
kann, ist die in 1 dargestellte Trennung des
Browsers 5 und der Steuerungseinrichtung 9 insbesondere
funktional zu verstehen. Wie heutzutage üblich kann der Browser 5 ein
Standard-Webbrowserprogramm
sein.
-
Gemäß einem
zweiten Aspekt der Erfindung ist der Codeblock insbesondere so ausgestaltet, dass
der Programmierer einer Webseiten-Struktur den Codeblock, der die
Fenster definiert, nicht selbst in der entsprechenden Programmiersprache
zu programmieren braucht. Vielmehr kann der Codeblock selbst von
einer Entwicklungsumgebung für
Programmierer erzeugt werden. Es wird eine visuelle Entwicklungsumgebung
vorgeschlagen, also eine Entwicklungsumgebung, die bereits während der Programmierung
zumindest Teile der programmierten Fenster-Darstellung grafisch
darstellt.
-
Bei
einer konkreten Ausführungsform
der Entwicklungsumgebung weist diese einen Editor auf, der wiederum
selbst durch einen Codeblock mit den oben beschriebenen Eigenschaften
definiert ist. Somit kann der Editor-Codeblock während des Betriebes eines Browsers
von einer Quelle heruntergeladen werden und bietet damit den vollen
Komfort einer web-basierten Anwendung. Hinzu kommt die Möglichkeit,
bereits während
der Programmierung von der übersichtlichen
Darstellung einer Mehrzahl von Inhalten in verschiedenen Fenstern
zu profitieren. Beispielsweise wählt
der Programmierer per Mausklick in einem ersten der Fenster Eigenschaften (z.
B. die noch detaillierter in dieser Beschreibung genannten Attribute)
eines später
bei dem Anwender bzw. Nutzer zu generierenden Fensters aus und bekommt
das Ergebnis in einem zweiten der Fenster grafisch dargestellt.
-
3 zeigt
ein Browserfenster 30, in dem ein erstes Fenster 31a und
ein zweites Fenster 31b dargestellt sind. Das Browserfenster 30 wiederum wird
insbesondere auf dem Darstellungsmittel 7 gemäß 1 dargestellt.
Das erste Fenster 31a und das zweite Fenster 31b werden
innerhalb derselben Instanz eines Browsers verwaltet. Die Verwaltung
erfolgt nach dem erfindungsgemäßen Verfahren.
In dem ersten Fenster 31a wird ein erster Inhalt C1 dargestellt,
in dem zweiten Fenster 31b ein Inhalt C2.
-
Wie
das obige Beispiel der visuellen Entwicklungsumgebung zeigt, kann
eine Steuerung der Browserinstanz nach dem erfindungsgemäßen Verfahren
insbesondere so ausgestaltet sein, dass das Ergebnis einer mit Hilfe
des ersten Inhalts C1 von einem Nutzer durchgeführten Aktion automatisch den zweiten
Inhalt C2 verändert
und der veränderte
zweite Inhalt C2 in dem zweiten Fenster 31b dargestellt wird.
Hierzu kann insbesondere die im Folgenden anhand von 2 noch
näher beschriebene
Ausgestaltung einer Steuerungseinrichtung 9 ein Eingangssignal
von dem Browser empfangen, das der durchgeführten Aktion entspricht (z.
B. einem Mausklick auf eine Schaltfläche des ersten Inhalts C1).
Das Eingangssignal wird dann von der Steuerungseinrichtung 9,
insbesondere gemäß Programmcode
in dem oben beschriebenen Codeblock, ausgewertet und führt zu der
Ausgabe eines Ausgangssignals an den Browser, das wiederum den Browser
veranlasst, den zweiten Inhalt C2 zu verändern.
-
2 illustriert
ein Ausführungsbeispiel
eines dritten, besonders bevorzugten Aspektes der Erfindung, der
zunächst
jedoch allgemein beschrieben wird. Der Aspekt betrifft Links zu
anderen Inhalten oder Teilinhalten, die von der selben oder einer
anderen Quelle erhältlich
sind. Durch die Betätigung
eines Links kann der entsprechende Inhalt oder Teilinhalt geladen
und dargestellt werden. Beispielsweise in HTML wird über das
Element <a> referenziert. Dabei kann über das
Attribut target ein bestimmtes Ziel angegeben werden, insbesondere
ein Frame oder auch ein neues Browserfenster, in dem der referenzierte Inhalt
dargestellt werden soll. Der Vorteil einer derartigen Referenzierung
liegt in ihrer Einfachheit. Andererseits sind aber die Möglichkeiten
der Darstellung begrenzt.
-
Dem
dritten Aspekt liegt das Problem zu Grunde, eine einfache Programmierung
zu ermöglichen,
die dennoch die volle Funktionalität der Darstellung von Inhalten
in unterschiedlichen Fenstern der selben Browserinstanz ermöglicht.
-
Hierzu
wird vorgeschlagen, dass ein Link zu einem Inhalt oder zu einem
bestimmten Teilinhalt der Quelle automatisch um Fenster-Steuerungsinformation
ergänzt
wird oder durch einen um Fenster-Steuerungsinformation ergänzten Link
ersetzt wird, wobei die Fenster-Steuerungsinformation Information
enthält,
um den Inhalt oder Teilinhalt der Quelle in einem neuen oder bestehenden
Fenster der Browserinstanz auf dem Darstellungsmittel darstellen
zu können.
-
Durch
die automatische Ersetzung oder Ergänzung kann der Programmierer
eine Referenzierung verwenden, die einfach ist. Insbesondere kann der
Link vor der Ergänzung
oder Ersetzung in dem Format der Layout-Beschreibungssprache (insbesondere
HTML) definiert sein oder in allenfalls leicht abgeändertem
Format. Beispielsweise kann das Attribut target des Elementes <a> (a bedeutet „anchor") in HTML eine Bedeutung
zugewiesen bekommen, die in Standard-HTML nicht definiert ist. Der
der Bedeutung entsprechende Wert des Attributs kann dann von dem
oben genannten Codeblock oder Programm bzw. von der Steuerungseinrichtung
erkannt werden, dementsprechend interpretiert werden und löst die Ergänzung oder
Ersetzung in der gewünschten
Weise aus.
-
Durch
die Fenster-Steuerungsinformation können insbesondere Fenster erzeugt
und/oder mit Inhalt beladen werden.
-
Nicht
nur in Zusammenhang mit dem dritten Aspekt können eine, mehrere oder alle
der folgenden Aktionen durchgeführt
werden:
- – Ein
Titel des Fensters, in dem der referenzierte Inhalt dargestellt
werden soll, wird entsprechend diesem Inhalt gesetzt.
- – Eine
Historie der Adressen von in dem Fenster bereits dargestellten Inhalten
wird aktualisiert oder (im Fall der Öffnung eines neuen Fensters) initialisiert.
- – Es
wird Information gesichert, die es ermöglicht, den referenzierten
Inhalt in Zukunft erneut darzustellen (Reload-Funktion, die beispielsweise über eine
Schaltfläche
in dem Fenster betätigt
werden kann).
- – Es
wird sogenannte Deeplink-Information (zur Erklärung des Begriffes s.o. und
s.u.) gesetzt.
- – Ggf.
wird ein neues Fenster innerhalb derselben Browserinstanz initialisiert.
In diesem Fall enthält die
Steuerungsinformation die entsprechenden Initialisierungsdaten,
sodass z. B. das Layout des Fensters (etwa das Fensterdesign und/oder
die Anzahl und Art der Schaltflächen)
definiert ist.
-
Bei
einer Weiterbildung unterscheidet die Steuerungseinrichtung, auf
welche Art der Link während
der Laufzeit des Browsers betätigt
wurde. Beispielsweise kann er durch einen Klick mit der linken oder
der rechten Maustaste betätigt
worden sein. Es wird vorgeschlagen, abhängig von der Art der Betätigung eine
jeweils zugeordnete Aktion auszuführen, die insbesondere in Bezug
zu dem Link und/oder dem referenzierten Inhalt steht. Insbesondere
kann bei einer ersten Art der Betätigung die Ergänzung oder
Ersetzung durchgeführt
werden. Zum Beispiel kann bei einer zweiten Art der Betätigung ebenfalls die
Ergänzung
oder Ersetzung durchgeführt
werden, jedoch auf eine andere Weise (etwa kann der referenzierte
Inhalt in einem neuen Fenster dargestellt werden, welches zu diesem
Zweck geöffnet
wird). Auch kann alternativ oder zusätzlich bei einer zweiten oder
dritten Art der Betätigung
ein Kontext-Menü geöffnet werden,
das es dem Benutzer erlaubt, unter einer Anzahl von Standard-Browser-Menüpunkten auszuwählen, die
tatsächlich
funktionsfähig
sind.
-
Ein
Link wird ausgeführt,
indem der entsprechende referenzierte Inhalt oder Teilinhalt der
Quelle geladen und auf dem Darstellungsmittel dargestellt wird.
Bei einer besonders bevorzugten Ausführungsform wird eine Ausführung des
Links durch den Browser abgebrochen oder zunächst blockiert und werden die
Fenster-Steuerungsinformation zu dem Browser übertragen und der ergänzte oder
ersetzte Link ausgeführt.
-
Durch
die Blockierung oder das Abbrechen des Links kann verhindert werden,
dass der Browser den Link gemäß der Standard-Definition
der Layout-Beschreibungssprache ausführt. Es ist daher möglich, die
Ergänzung
oder Ersetzung des Links während
der Laufzeit des Browsers auszuführen, nachdem
ein Benutzer die Ausführung
des Link ausgelöst
hat. Dabei kann grundsätzlich
die Fenster-Steuerungsinformation wenigstens teilweise schon vor
der Betätigung
des Links erzeugt worden sein. Bevorzugt wird jedoch, die Fenster-Steuerungsinformation
erst nach der Auslösung
der Betätigung des
Links zu erzeugen, da dann vollständig festgestellt werden kann,
ob überhaupt
eine Ersetzung oder Erweiterung durchgeführt werden muss.
-
Bei
einer konkreten Ausführungsform,
bei der die Steuerung der Fensterdarstellung unter Verwendung des
oben beschriebenen Codeblocks bzw. Programms durchgeführt wird,
erzeugt dieses die Fenster-Steuerungsinformation und übermittelt
sie dem Browser. Insbesondere wird u.a. ein vor der Ersetzung oder
Ergänzung
in HTML vorliegender Wert eines Referenzierungsattributs (z. B.
href in HTML) durch einen entsprechenden, jedoch erweiterten Befehl
in einer Sprache des Codeblocks bzw. Programms ersetzt bzw. erweitert.
Der erweiterte Befehl enthält
außer
der eigentlichen Fenster-Steuerungsinformation auch die zur Ausführung des
Links benötigte
Information.
-
Alternativ
zu der Blockierung oder dem Abbruch des Links wird folgende Ausführungsform
vorgeschlagen:
Wenn der Browser einen Inhalt lädt, der
zumindest einen später
eventuell auszuführenden
Link aufweist, wird der Link nach dem Laden des Inhalts durch den Browser
und vor dem Darstellen des Inhalts auf dem Darstellungsmittel ergänzt oder
ersetzt. Vorzugsweise wird ebenso für alle anderen Links in dem
Inhalt verfahren, bevor der Inhalt dargestellt wird. Das Laden des
Inhalts durch den Browser kann unter der Steuerung der Steuerungseinrichtung
erfolgen.
-
Diese
Art der Ergänzung
oder Ersetzung kann mit großer
Zuverlässigkeit
durchgeführt
werden, da heutzutage jeder Standardbrowser Operationen an dem geladenen
Inhalt durch Codeblöcke
oder Programme zulässt.
Die weitere Steuerung der mit den Links verbundenen Funktionen kann
dann nahezu vollständig
von dem Codeblock oder Programm übernommen
werden. Insbesondere kann der HTML-Code des Links vollständig oder
teilweise durch Programmcode (z. B. in Java Script) ersetzt werden.
Auch kann die Ausführung
des Links nach seiner Betätigung
beschleunigt werden, da dann keine Ergänzung oder Ersetzung mehr vorgenommen werden
muss.
-
Nachteil
dieser Ausführungsform
ist jedoch, dass nicht mehr alle Standard-Browseraktionen bei diesen Links funktionieren,
da die Fenster-Steuerungsinformation schon vor der Auslösung des
Links erzeugt wurde. Die Standard-Browseraktionen funktionieren
jedoch insbesondere bei der oben beschriebenen Ausführungsform
mit der Blockierung oder dem Abbrechen des Links.
-
Allgemein
formuliert kann die Fenster-Steuerungsinformation als Bestandteil
einer Gruppe von Codeelementen erzeugt werden, wobei die Gruppe von
Codeelementen Ausführungsinformation
für eine Ausführung des
später
eventuell auszuführenden Links
aufweist.
-
Bei
dem dritten Aspekt der Erfindung ist die Steuerungseinrichtung der
Anordnung insbesondere ausgestaltet, einen Link zu einem Inhalt
oder zu einem bestimmten Teilinhalt der Quelle automatisch um Fenster-Steuerungsinformation
zu ergänzen
oder durch einen um Fenster-Steuerungsinformation ergänzten Link
zu ersetzen, wobei die Fenster-Steuerungsinformation Information
enthält,
um den Inhalt oder Teilinhalt der Quelle in einem neuen oder bestehenden
Fenster der Browserinstanz auf dem Darstellungsmittel darstellen
zu können.
-
Unabhängig von
der konkreten Durchführung
der Ergänzung
oder Ersetzung des Links wird Folgendes vorgeschlagen: Wenn ein
Inhalt oder ein Teilinhalt der Quelle, der auf dem Darstellungsmittel dargestellt
werden soll, zumindest einen zu ergänzenden oder zu ersetzenden
Link aufweist, wird im Vordergrund eines Bereiches auf dem Darstellungsmittel,
in dem der Inhalt oder der Teilinhalt dargestellt werden soll, vorübergehend
ein anderes Element dargestellt. Bei dem anderen Element handelt
es sich insbesondere um einen Block, ein Bildelement (z. B. vom
Typ <img> in HTML) oder einen
Frame. Das andere Element ist optional durchsichtig und deckt den Bereich
zumindest teilweise ab. Vorzugsweise ist die (unter Umständen nicht
sichtbare) Darstellung das Element so groß wie der gesamte Fensterbereich des
Browserfensters, in dem Inhalte dargestellt werden können. Dadurch
kann der Inhalt oder Teilinhalt in dem Bereich dargestellt werden,
während
eine Betätigung
des zumindest einen Links in dem Bereich noch nicht möglich ist.
Es ist somit gewährleistet, dass
der Link vor seiner Ergänzung
oder Ersetzung noch nicht betätigt
werden kann.
-
Diese
Maßnahme
kann insbesondere bei der Handhabung einer Background-HTML-Seite ergriffen werden.
Unter einer Background-HTML-Seite wird die Webseite verstanden,
die beim Laden eines Inhalts von einer bestimmten Quelle zuerst
auf dem Darstellungsmittel dargestellt wird und in vielen Fällen eine
Mehrzahl von Links zu untergeordneten Web-Seiten enthält.
-
Die
Maßnahme
lässt sich
alternativ zu der Maßnahme
der Ausblendung oder Verzögerung
der Darstellung von Inhalten auf dem Darstellungsmittel anwenden.
-
Unter
Bezugnahme auf 2 werden nun eine Ausführungsform
einer dem dritten Aspekt der Erfindung entsprechenden Anordnung
und eine Verfahrensweise näher
erläutert.
Die in der Figur dargestellte Steuerungseinrichtung 9 ist über eine
bidirektionale Verbindung 8 mit dem Browser verbunden. Dabei
ist die Verbindung in der Figur für eine Signalübertragung
zu der Steuerungseinrichtung 9 mit dem Bezugszeichen 8a bezeichnet
und ist die Verbindung für
eine Signalübertragung
zu dem Browser mit dem Bezugszeichen 8b bezeichnet.
-
Die
dargestellte Anordnung erlaubt eine Signalübertragung sowohl zu einem
Analysator 11 als auch direkt zu einer Steuerungseinheit 13 der
Steuerungseinrichtung 9. Der Analysator 11 ist
ausgestaltet, die von dem Browser eingehenden Signale zu analysieren,
insbesondere die vorgegebenen Werte in dem target-Feld und in dem
href-Feld eines <a>-Befehls zu erkennen,
und die entsprechenden Maßnahmen
zur Steuerung der Fensterdarstellung anzustoßen.
-
Bei
der Ausführungsform
mit der Blockierung der Ausführung
eines Links stellt der Analysator 11 die Auslösung der
Betätigung
des Links durch den Benutzer fest und löst seinerseits die aktive Ausgabe eines
Blockierungssignals zur Blockierung des Links aus. Der Analysator 11 ist
ausgangsseitig mit einem Eingang eines Generators 12 verbunden,
der die dem Link entsprechende Fenster-Steuerungsinformation generiert
und über
eine ausgangsseitige Verbindung zu einem Eingang der Steuerungseinheit 13 überträgt. Alternativ
können
der Generator und die Steuerungseinheit als eine kombinierte gemeinsame Einheit
ausgebildet sein. In beiden Fällen übernimmt die
Steuerungseinheit 13 die eigentliche Steuerung des Browsers.
-
Im
Fall der Ergänzung
oder Ersetzung des Links bereits nach dem Laden eines Inhalts analysiert
der Analysator 11 vorzugsweise sukzessive den gesamten
geladenen Inhalt und löst
die Erzeugung der Fenster-Steuerungsinformation aus.
-
Einem
vierten Aspekt der Erfindung liegt folgendes Problem zugrunde: Beispielsweise
wegen einer Überlastung
eines Mikroprozessors und/oder weil eine Datenübertragung über das Datenübertragungsnetz
nur bei geringer Übertragungsrate
stattfindet oder. zeitweise unterbrochen ist, kann es vorkommen,
dass der Browser Befehle, die ihm erteilt wurden, nicht ausführt. Dies
ist insbesondere bei einer Mehrfensterdarstellung nicht akzeptabel,
da insbesondere wesentliche Inhalte möglicherweise nicht dargestellt
werden. Ist dagegen – wie
bei heutigen Standardbrowsern – nur
ein Fenster zur Darstellung von Inhalten vorhanden, würde der
Betrachter sofort auf das Problem aufmerksam. Bei einer Mehrfensterdarstellung
fällt dem
Betrachter das Problem möglicherweise
nicht auf. Es ist daher darauf zu achten, dass das Laden und Darstellen
von allen Inhalten zuverlässig
durchgeführt
wird. Hierzu gehört
auch ggf. das Erzeugen eines neuen Fensters.
-
Gemäß dem vierten
Aspekt wird daher vorgeschlagen, dass bei einer Mehrzahl von Teilprozessen,
durch deren Ausführung
eine Mehrzahl von Inhalten in verschiedenen Fenstern der selben
Browserinstanz dargestellt werden soll, die Teilprozesse nacheinander
ausgeführt
werden und jeweils das Eintreten eines Ereignisses am Ende eines
der Teilprozesse festgestellt wird und den Beginn des nächsten folgenden
Teilprozesses auslöst
(Folge von Teilprozessen, an deren Übergang jeweils ein Ereignis liegt).
-
Standardbrowser
sehen grundsätzlich
vor, dass Ereignisse gesetzt werden können und es festgestellt werden
kann, wenn das Ereignis eingetreten ist. Diese Funktionalität kann daher
bei dem vierten Aspekt der Erfindung genutzt werden. Die Nutzung dieser
Funktionalität
spart insbesondere Rechenzeit und entlastet somit die (u. U. schon überlastete)
zentrale Recheneinheit. Würde
laufend abgefragt, ob ein Teilprozess schon ausgeführt ist,
würde die
Recheneinheit noch mehr belastet.
-
Insbesondere
ist es möglich,
zunächst
eine erste Kette der Teilprozesse durchzuführen, in denen jeweils ein
neues Fenster der Browserinstanz geöffnet wird oder ein vorhandenes
Fenster der Browserinstanz zum Darstellen eines neuen Inhalts vorbereitet
wird.
-
Ein
Ausführungsbeispiel
wird nun unter Bezugnahme auf 4 im Folgenden
erläutert:
Die
Figur zeigt drei Fenster einer Browserinstanz, nämlich ein erstes Fenster 31a,
ein zweites Fenster 31b und ein drittes Fenster 31c.
Mit dem Bezugszeichen A wird der Beginn der Prozedur bezeichnet.
Wie durch einen bei A beginnenden Pfeil angedeutet ist, wird in
einem ersten Teilprozess zunächst
das erste Fenster 31a geöffnet. Am Ende des ersten Teilprozesses
tritt das Ereignis B ein, das den zweiten Teilprozess auslöst, in dem
das zweite Fenster 31b geöffnet wird. Am Ende des zweiten
Teilprozesses tritt das Ereignis C ein, das wiederum einen dritten
Teilprozess auslöst,
in dem das dritte Fenster 31c geöffnet wird. Am Ende des dritten
Teilprozesses sind somit alle drei Fenster geöffnet. Die Anzahl der durch die
Kette der Teilprozesse zu öffnenden
Fenster kann selbstverständlich
größer oder
kleiner sein.
-
Am
Ende des Teilprozesses, der das dritte (im allgemeinen: das letzte)
Fenster 31c öffnet,
tritt ein Ereignis D, das den vierten Teilprozess auslöst, in dem
das erste Fenster 31a mit dem gewünschten Inhalt beladen wird,
d. h. der Inhalt dargestellt wird. Am Ende des vierten Teilprozesses
tritt ein Ereignis E ein, das einen weiteren Teilprozess auslöst, in dem das
zweite Fenster 31b mit dem beabsichtigten Inhalt beladen
wird. Am Ende dieses Teilprozesses tritt ein Ereignis F ein, das
den letzten Teilprozessen auslöst, in
dem das dritte Fenster 31c mit dem beabsichtigten Inhalt
beladen wird. Die Kette der Teilprozesse endet optional mit einem
weiteren vorher gesetzten Ereignis G, wodurch das Ende festgestellt
werden kann und z. B. eine grafische Darstellung, die den Vorgang des Öffnens und
Ladens darstellt, (etwa ein Wartesymbol) wieder ausgeblendet werden
kann.
-
Alternativ
kann die Kette der Teilprozesse auch in anderer Reihenfolge ausgeführt werden.
Z. B. kann jeweils nach dem Öffnen
eines neuen Fensters zunächst
das Fenster mit Inhalt beladen werden und dann das nächste Fenster
geöffnet
werden.
-
Einem
fünften
Aspekt der Erfindung liegt das Problem zugrunde, dass bestimmte
Elemente der Layout-Beschreibungssprache (insbesondere HTML) bei
manchen Standardbrowsern im Vordergrund auf dem Darstellungsmittel
dargestellt werden, obwohl ein anderes Element, insbesondere ein
Block (Element <div> in HTML) im Vordergrund
dargestellt sein sollte.
-
Aus
diesem Grund wird vorgeschlagen, die von der Browserinstanz verwalteten
Fenster unter Verwendung zweier Elemente vom Typ "eingebetteter Frame" (z. B. Element <iframe> in HTML) zu steuern.
Eingebettete Frames erzeugen – anders
als Standard-Frames – bei der üblichen
Verwendung keine Aufteilung des Bildschirms, sondern sind ähnlich wie
Grafiken Bereiche einer Codeseite (insbesondere einer HTML-Datei),
in denen Inhalte aus fremden (anderen) Quellen dargestellt werden
können.
-
Dabei
wird unter Verwendung zumindest eines ersten der eingebetteten Frames
das eigentliche Fenster gesteuert (Skin-Frame), über das die das grafische Fensterlayout
betreffenden Fenstereigenschaften verwaltet werden, etwa ein Fensterrahmen, eine
Titelzeile, diverse Schaltflächen
und/oder eine Fußzeile.
Unter Verwendung zumindest eines zweiten der eingebetteten Frames
wird der Inhalt des Fensters verwaltet (Inhalt-Frame). Vorzugsweise weist der Skin-Frame
eine Gruppe von mehreren eingebetteten Frames auf.
-
Insbesondere
wird bei dieser Lösung
der Inhalt-Frame (z. B. Bezugszeichen 16 in 5)
gegenüber
dem Skin-Frame (z. B. Bezugszeichen 15 in 5)
als kleineres Rechteck und im Vordergrund dargestellt, sodass der
Skin-Frame einen Rahmen um den Inhalt-Frame bildet. Die Steuerung der Darstellung
ist dabei vorzugsweise so ausgestaltet, dass bei der Verschiebung
eines der beiden eingebetteten Frames der andere automatisch mit
verschoben wird, sodass die relative Position der beiden Frames
unverändert
bleibt. Dennoch ist die Verwaltung des Inhalts und des Layouts des
Fensters getrennt und aufgeteilt in die zumindest zwei Frames.
-
In 5 sind
Details des Skin-Frames 15 dargestellt: In einer Kopfzeile 18 kann
beispielsweise ein Titel des in dem Inhalt-Frame 16 dargestellten
Inhalts erscheinen. Am rechten Ende der Kopfzeile befindet sich
eine Schaltfläche 19,
durch deren Betätigung
das Fenster geschlossen werden kann. Weitere Schaltflächen können vorgesehen
sein (etwa ein Reload-Button). Auch weist der Skin-Frame 15 eine Fußzeile 17 auf,
z. B. zur redundanten und/oder zusätzlichen Darstellung von Informationen,
die im Zusammenhang mit dem Inhalt steht.
-
Ein
eingebetteter Frame hat gegenüber
einem Blockelement den Vorteil, dass er die sonst im Vordergrund
dargestellten Elemente bei der Darstellung überdecken kann.
-
Vorzugsweise
wird programmtechnisch gemeinsam mit den für die Definition des Skin-Frames bzw. des Inhalt-Frames
erforderlichen Informationen eine Vielzahl von weiteren Informationen
verwaltet, beispielsweise als komplexes Objekt im Sinne einer objektorientierten
Programmierung. Dabei können auch
die beiden Frames, also der Skin-Frame und der Inhalt-Frame, zusammen
(wenn auch untergliedert) in dem selben komplexen Objekt verwaltet
werden.
-
Bei
einem Ausführungsbeispiel
ermöglichen die
zusätzlich
zu dem eingebetteten Frame verwalteten Informationen die Behandlung
des eingebetteten Frames als dynamisches Fenster und/oder interaktives
Fenster. Insbesondere wird so die Größen-Skalierbarkeit des Fensters,
die Verschiebbarkeit des Fensters sowie die Eigenschaft ermöglicht,
dass Fenster einander überlappen
können.
-
Insbesondere
werden die im folgenden genannten Fenster-Attribute zusammen mit
zumindest einem der eingebetteten Frames verwaltet:
- – Höhe und/oder
Breite des Fensters
- – Fenstername
und/oder Titel des Inhalts
- – Adresse
des Inhalts (z. B. URL)
- – Position
(z. B. relativ zu dem Browserfenster und/oder auf dem Darstellungsmittel)
-
Weitere
Attribute können
vorgesehen sein. Das Softwareobjekt kann neben den Attributen weitere
Elemente aufweisen.
-
Ein
Beispiel für
ein solches weiteres Element, ist gemäß einem sechsten Aspekt der
vorliegenden Erfindung eine Historie (etwa eine geordnete Folge)
von Adressen der in dem Fenster bisher dargestellten Inhalte. Bei
einer bevorzugten Ausführungsform
haben grundsätzlich
alle Fenster, die von der Browserinstanz verwaltet werden, eine
derartige Historie. Allerdings kann es dem Programmierer überlassen
bleiben, eine Historie bei einem oder mehreren der Fenster nicht
vorzusehen. Die Historie kann beispielsweise durch ein Adressdatenfeld und/oder
mit Hilfe einer Pointerkette realisiert werden. Vorzugsweise wird
der Historie automatisch bei der Darstellung eines neuen Inhalts
in dem Fenster eine entsprechende Adresse hinzugefügt. Wie
bei dem Browserfenster von Standardbrowsern kann etwa in einem Kopfbereich
des Fensters zumindest eine Schaltfläche vorgesehen sein, über die
Adressen der Historie ausgewählt
und somit der entsprechende Inhalt wieder in dem Fenster dargestellt
werden kann.
-
Gemäß einer
Weiterbildung dieses Aspektes kann zumindest eine der Adressen einer
Fenster-Historie mit einer Adresse bzw. dem Inhalt einer Historie
eines anderen Fensters verknüpft
sein. Dies erlaubt es, miteinander verknüpfte Inhalte zu definieren,
die gleichzeitig in verschiedenen Fenstern angezeigt werden sollen.
Die Auswahl und Betätigung
einer solchen verknüpften
Adresse aus einer Historie führt
also nicht nur zu der Darstellung des entsprechenden Inhalts in
dem Fenster der Historie sondern auch zu einem Wechsel der Darstellung
in einem anderen Fenster (oder zu der erneuten Öffnung eines anderen Fensters).
-
Gemäß einem
siebten Aspekt der vorliegenden Erfindung können eines, mehrere oder alle
Elemente des Softwareobjektes oder eines entsprechenden logischen
Objektes gespeichert und/oder zu einem Empfänger übertragen werden (z. B. durch Anhängen der
entsprechenden Daten an eine URL oder Versand an einen Server über ein
Form-Submit). Mit
anderen Worten: es können
sämtliche
für die Darstellung
einer bestimmten Kombination von Fenstern der Browserinstanz und
deren Inhalten erforderlichen Informationen gespeichert und/oder übertragen
werden. Vorteilhaft ist insbesondere eine Speicherung der Elemente über die
Funktion zumindest eines Cookies auf einer lokalen Speichereinrichtung, die
dem Browser zugeordnet ist oder zugeordnet werden kann. Insbesondere
wenn für
mehrere oder alle der Fenster der selben Browserinstanz eine solche
Speicherung oder Datenübertragung
vorgenommen wird, kann ein bestimmter Zustand der Darstellung später wiederhergestellt
werden. Insbesondere kann die Speicherung und/oder Datenübertragung (z.
B. manuell) einmalig stattfinden (etwa durch Betätigung einer Schaltfläche) oder
während
der Steuerung des Browsers wiederholt stattfinden. Auch ist eine
automatische, beispielsweise ereignisgesteuerte Speicherung und/oder
Datenübertragung
möglich.
-
Bei
einem erneuten Besuch der Seite kann der Cookie festgestellt, ausgelesen
und die ursprüngliche
Fensterkonfiguration und Fensterdarstellung wiederhergestellt werden.
-
Einem
achten Aspekt der vorliegenden Erfindung liegt das Problem zugrunde,
dass es möglich sein
soll, ein auf dem Darstellungsmittel dargestelltes Darstellungselement
(z.
-
B.
durch so genanntes Ziehen, etwa mit einer Maus) über eines der von der Browserinstanz
verwalteten Fensters hinweg zu verschieben. Die Schwierigkeit besteht
darin, die Koordinaten des Darstellungselements während der
Verschiebung zu ermitteln. Insbesondere bei der Verwendung von eingebetteten
Frames für
die Fenster ist eine solche Ermittlung der Koordinaten unter Umständen nicht möglich.
-
Als
Lösung
wird vorgeschlagen, eine speziell für das Ziehen erstellte Kombination
zu verwenden. Das Darstellungselement wird mit einem Drag-Element
kombiniert, insbesondere einem Bildelement (z. B. in HTML vom Typ <img>). Dieser Lösung liegt
der Gedanke zugrunde, dass es bei bestimmten Elementen, insbesondere
bei Bildelementen in jedem Fall möglich ist, die Position auch
während
der Verschiebung (Draggen) festzustellen. Das Drag-Element kann
auf dem Darstellungsmittel zumindest in Teilbereichen des Darstellungselements
als im Vordergrund liegendes Element verwaltet werden. Dadurch ist
ein Anklicken des Drag-Elements möglich.
-
Für den Standardbrowser
Internet Explorer der Microsoft Corporation wird folgende Ausführungsform
vorgeschlagen: es wird ein Bildelement als das Drag-Element verwendet,
dessen Ziehen per Befehl durch die Steuerungseinrichtung abgebrochen
werden kann und auch abgebrochen wird. Ein solcher Befehl wird von
dem Internet Explorer akzeptiert. Durch das Abbrechen kann verhindert
werden, dass das Darstellungselement aus dem Browserfenster heraus
verschoben werden kann und dann weiter sichtbar ist und z. B. auf
dem Desktop des Darstellungsmittels erscheint.
-
Für den Standardbrowser
Netscape Navigator wird folgende Ausführungsform vorgeschlagen: es
wird ein durchsichtiges Blockelement (z. B. in HTML durch <div> definiert) als das
Drag-Element verwendet, das mit dem Bildelement kombiniert wird und
das außerdem
einen unsichtbaren (d. h. nicht dargestellten oder nicht darstellbaren)
Inhalt hat, z. B. in HTML den Befehl <p> oder
den Befehl <font>. Diese Ausführungsform
wird vorgeschlagen, da es in dem Netscape Navigator nicht möglich ist,
das Ziehen per Befehl abzubrechen.
-
Insbesondere
werden vor und/oder nach dem Abbrechen des Bildelement-Ziehvorganges sogenannte
Move-Ereignisse ausgewertet, über
die die x- und y-Koordinaten
der Bewegung eines Zeiger-Hilfsmittels (insbesondere eines Mauszeigers) auf
dem Darstellungsmittel ausgewertet werden. Entsprechend dieser Bewegung
wird das Darstellungselement in gleicher Weise verschoben.
-
Bevorzugt
wird, dass das Bildelement so verwaltet wird, dass es im Vordergrund
des Darstellungsmittels (z. B. Bildschirmes) dargestellt wird. Andererseits
wird das Bildelement in diesem Fall tatsächlich gar nicht dargestellt.
Anders ausgedrückt: das
Bildelement ist transparent. Diese Ausführungsform hat den Vorteil,
dass ein Auswählen
des Bildelementes und ein anschließendes Ziehen des Bildelementes
möglich
ist, wobei dann gleichzeitig das eigentliche Darstellungselement
verschoben wird.
-
Eine
Ausführungsform
wird im Folgenden noch näher
anhand von 6 beschrieben:
Die Figur
zeigt eine Explosionsdarstellung von drei übereinander liegenden Elementen
bei der Darstellung auf dem Darstellungsmittel. Im Hintergrund wird ein
Skin-Frame 15 dargestellt, insbesondere mit den anhand
von 5 bereits beschriebenen Eigenschaften. Relativ
zu dem Skin-Frame 15 liegt ein Element der Drag-Kombination,
insbesondere das Bildelement, im Vordergrund. Das Element 20 ist
durchsichtig. Der rechteckige Rahmen des Elementes 20 ist
nur deswegen in der 6 dargestellt, um den Sachverhalt
erklären
zu können.
Auch der Rahmen ist bei der Darstellung auf dem Darstellungsmittel nicht
erkennbar. Im Vordergrund gegenüber
sowohl dem Skin-Frame 15 als auch gegenüber dem Element 20 liegt
der Inhalt-Frame 16. Es ist aus der 6 erkennbar,
dass er die anderen Elemente abdeckt. Bei der tatsächlichen
Darstellung auf dem Darstellungsmittel werden der Skin-Frame 15,
das Element 20 und der Inhalt-Frame 16 übereinander gelegt, wie es
im Ergebnis aus der Darstellung gemäß 5 erkennbar
ist. Insbesondere ist das Element 20 hinsichtlich seiner
Außenabmessungen
genauso groß wie
der Skin-Frame 15. Da auch das Element 20 höher ist
als der Inhalt-Frame 16,
kann mit einem Auswahl-Hilfsmittel (z. B. einer Maus) oberhalb und unterhalb
des Inhalt-Frames 16 das dort im Vordergrund liegende Ement 20 ausgewählt werden
und beispielsweise verschoben werden. Durch die Kombination mit
dem Skin-Frame 15 und – in diesem
Fall – auch
mit dem Inhalt-Frame 16 (allgemein: mit einer Mehrzahl
von Darstellungselementen) werden diese beim Verschieben des Elements 20 mit
verschoben. Das Element 20 kann auch Bestandteil des Skin-Frames 15 sein.
-
Alternativ
zu dieser Ausführungsform
kann auch eine Mehrzahl der Bildelemente mit dem Darstellungselement
kombiniert werden. Im Beispiel der 6 ist dann beispielsweise
ein erstes Bildelement etwa so groß wie der verschiebbare Teil
der Kopfzeile des Skin-Frames 15 und ist ein zweites Bildelement etwa
so groß wie
die Fußzeile
des Skin-Frames 15.
-
Einem
neunten Aspekt der Erfindung liegt folgendes Problem zugrunde: Es
ist bekannt, dass ein Nutzer bzw. Betrachter ein Darstellungselement der
Darstellung betätigt
(insbesondere eine SUBMIT-Schaltfläche anklickt) und dadurch eine
Datenübertragung
(z. B. mit Eingabedaten aus einem Formular und/oder aus einem Eingabefeld)
und einer anschließenden
Bearbeitung (z. B. Auswertung und/oder Aufbereitung) durch eine
Bearbeitungseinheit auslöst.
Die Bearbeitungseinheit ist insbesondere Teil eines lokalen Servers
oder eines Remote Servers. Ein Ergebnis der Bearbeitung soll in
einem anderen Frame angezeigt werden.
-
Benötigt wird
eine Möglichkeit,
wie bei Betätigung
eines solchen Darstellungselementes eine Fenster-Darstellung des
Ergebnisses auf dem Darstellungsmittel vorbereitet werden kann,
ohne dass ein geeigneter Frame bereits im Moment der Betätigung des
Darstellungselementes zur Verfügung steht.
Beispielsweise soll es möglich
sein, die eingegebenen Daten (unter Umständen in aufbereiteter, ausgewerteter
und/oder weiter verarbeiteter Form) in einem (gegenüber dem
Eingabefenster) anderen Fenster der Browserinstanz darzustellen.
-
Zur
Lösung
wird vorgeschlagen, in die Übertragung
der Daten einzugreifen (insbesondere diese zunächst zu blockieren und/oder
sie abzubrechen). Zunächst
werden die Daten ausgelesen oder in anderer Weise analysiert. Dies
kann prinzipiell auch schon laufend während der Eingabe der Daten
durch den Nutzer geschehen. Vorzugsweise werden die Daten jedoch
nach der Betätigung
des Darstellungselementes ausgelesen.
-
Es
wird unter Verwendung von aus einem Fenster der Browserinstanz erhaltenen
Informationen eine Adresse generiert, zum Beispiel eine URL (Uniform
Resource Locator). Insbesondere ist dieses Fensters dasjenige Fenster,
das ein Formular enthält,
aus dem die Daten stammen (insbesondere aus einem Formular ausgelesenen)
Informationen, Z. B. wird die Adresse aus dem Formular ausgelesen. Auch
dies wird unter „generieren" verstanden. Die Adresse
wird einem Zielfenster, insbesondere einem anderen Fenster als bei
der Dateneingabe (z. B. einem neu zu öffnenden Fenster) der Browserinstanz zugeordnet.
In dem Zielfenster soll ein Ergebnis der Dateneingabe bzw. der Übertragung
der Daten dargestellt werden. Dabei werden die Daten z. B. zunächst an
das der generierten Adresse entsprechende Ziel der Datenübertragung,
beispielsweise einen Remote Server, übertragen.
-
Die
Zuordnung der Adresse erfolgt vorzugsweise zu dem eingebetteten
Frame für
den Inhalt des Zielfensters (Inhalt-Frame, siehe dazu die obige
Beschreibung).
-
Insbesondere
werden die zu übertragenden Daten
mit der Adresse des Ziels der Datenübertragung kombiniert, z. B.
im Form eines einzigen Strings (Kette von Zeichen), der beispielsweise
das verwendete Protokoll, die eigentliche Zieladresse und die angehängten Daten
aufweist.
-
Vorzugsweise
wird entsprechend der Programmierung der Webseite außerdem aus
den ausgelesenen oder analysierten Daten ermittelt, in welchem der
Fenster der Browserinstanz das Ergebnis dargestellt werden soll.
Es ist auch denkbar, dass das Ergebnis in einer Mehrzahl der Fenster
der Browserinstanz dargestellt werden soll. In diesem Fall wird bevorzugt,
eine entsprechende Mehrzahl der Adressen zu generieren, jeweils
einem der Fenster zuzuordnen und die jeweils erforderlichen Daten
mit den Adressen zu kombinieren und abzuschicken.
-
Der
Eingriff, insbesondere das Blockieren und/oder Abbrechen der Datenübertragung,
ermöglicht
es, eine entsprechende grafische Darstellung in einem der Fenster
der Browserinstanz vorzubereiten oder bereits vorzunehmen. Bei der
erfindungsgemäßen Anordnung
werden die genannten Aktionen durch die Steuerungseinrichtung durchgeführt.
-
Dem
Vorschlag liegt die Erkenntnis zu Grunde, dass das Anzeigen des
Ergebnisses der Datenübertragung
in einem anderen Fenster dann funktioniert, wenn das entsprechende
Zielfenster, insbesondere ein Zielframe, konkret benannt ist und
auch schon existiert. Durch die Zuordnung der generierten Adresse
zu dem Zielfenster, insbesondere einem beliebigen anderen Frame
als dem Frame des Formulars, kann die übliche Funktionalität des Browsers
genutzt werden, wonach später
von der Bearbeitungseinheit zu empfangende Antwortdaten in das Zielfenster
bzw. den Frame geleitet werden bzw. darin dargestellt werden.
-
Vorzugsweise
kann ein Standardverfahren der Layout-Beschreibungssprache verwendet
werden, insbesondere die get-Methode (die insbesondere von HTML-kompatiblen
Browsern unterstützt wird).
Bei der Definition eines Formulars, dessen Daten bei Betätigung durch
den Nutzer übertragen
werden sollen, braucht der Programmierer lediglich eine für die Steuerungseinrichtung
verständliche
Anweisung vorzusehen, beispielsweise ein Attribut in bestimmter
Weise zu setzen, sodass die Steuerungseinrichtung erkennt, dass
z. B. das neue oder andere Fenster innerhalb der selben Browserinstanz
für die Daten
oder für
entsprechende Antwortdaten vorbereitet werden soll. Die Steuerungseinrichtung
kann dann die Übertragung
und ggf. die Bearbeitung der Daten entsprechend veranlassen.
-
Insbesondere
wird vorgeschlagen, die generierte Adresse mit zumindest einem Teil
der Daten zu kombinieren und als Daten-Gruppe (z. B. eine Zeichenkette)
zusammen zu übertragen.
Beispielsweise kann die Daten-Gruppe über das Datenübertragungsnetz
zu einem Empfänger
(z. B. dem Remote Server) übertragen
werden, der die Daten auswertet und als Antwort Antwortdaten zurück überträgt.
-
Ein
Ausführungsbeispiel
wird unter Bezugnahme auf 7 beschrieben:
In
einem ersten Schritt S1 löst
ein Nutzer die Übertragung
der Daten aus. In einem darauf folgenden Schritt S2 werden die übertragenen
Daten abgefangen und/oder wird die normale Datenübertragung blockiert. Dies
ist durch eine mehrfach unterbrochene Linie und zwei Querstriche
dargestellt. Eine in Schritt S5 bei herkömmlicher Ausführung vorgenommene
Datenübertragung
findet nicht statt.
-
In
Schritt S3 werden vielmehr die Daten ausgelesen und wird eine Adresse
(insbesondere eine URL) generiert. Ferner werden die zu übertragenden Daten
an die Adresse angehängt.
In Schritt S4 wird ermittelt, in welchem Zielfenster ein Ergebnis
der Datenübertragung
und/oder einer vorzunehmenden Datenverarbeitung dargestellt werden
soll. Im hier betrachteten Beispiel wird festgestellt, dass später von einem
Server empfangene Antwortdaten in einem neuen Fenster der Browserinstanz
dargestellt werden sollen. Weiterhin wird in diesem Schritt die
Eröffnung
des neuen Fensters vorbereitet (z. B. ein entsprechendes Layout
aktiviert und das neue Fenster in die gesamte Verwaltung der Fenster
aufgenommen).
-
In
Schritt S7 wird dem Zielfenster die generierte Adresse zugeordnet,
sodass nun ein Beladen des Fensters mit Inhalt über diese Adresse möglich ist.
Weiterhin wird in diesem Schritt die Adresse mit den angehängten Daten
(insbesondere mit den vollständigen
Eingabedaten) an einen Server abgesendet.
-
In
einem anderen Fall sollen die Antwortdaten in einem bereits geöffneten
Zielfenster dargestellt werden. Die generierte Adresse wird daher
diesem Zielfenster zugeordnet.
-
In
Schritt S10 empfängt
der Server die Adresse mit den angehängten Daten und generiert die
entsprechenden Antwortdaten, beispielsweise unter der Steuerung
durch einen Programmcode, der für
die Auswertung und Verarbeitung von Formulardaten geeignet ist (z.
B. in PHP geschriebener Code). Ferner werden die Antwortdaten generiert
und an den Browser zurückgesendet,
die dann automatisch, aufgrund der vorher erfolgten Zuordnung der
Adresse in einen Inhalt-Frame des richtigen Zielfensters gelangen
(Schritt S8). Der Browser und/oder die Steuerungseinrichtung empfängt die
Antwortdaten, die dann in dem Zielfenster dargestellt werden. Insbesondere
kann die Steuerungseinrichtung die Antwortdaten vor der Darstellung
in dem Fenster auswerten und für
die gewählte
Art der Darstellung aufbereiten.
-
Der
Vollständigkeit
halber ist in 7 noch die sonst übliche Behandlung
von Eingabedaten dargestellt. In Schritt S5 werden die nicht abgefangenen Daten
an den Server abgesendet, der sie in Schritt S10 empfängt und
die Antwortdaten absendet. Die Darstellung der Antwortdaten in dem
selben Fenster, in dem auch die Eingabedaten eingegeben wurden, erfolgt
in Schritt S6.
-
Einem
zehnten Aspekt der Erfindung liegt ein ähnliches Problem wie dem neunten
Aspekt der Erfindung zugrunde. Zur Übertragung der Daten (insbesondere
um eine beliebig große
Menge von Daten übertragen
zu können)
wird jedoch die post-Methode (die insbesondere ebenfalls von HTML-kompatiblen Browsern
unterstützt
wird) verwendet. Diese Methode erlaubt es, die Daten in einem eigenen
Datenfeld oder Datenblock zu übertragen.
Andererseits ist es nicht möglich,
die Daten in diesem Datenfeld oder Datenblock zu ändern und
auf diese Weise für
die Darstellung in einem der Fenster der Browserinstanz vor- bzw.
aufzubereiten und damit insbesondere das Darstellungsfenster und/oder
dessen Eigenschaften festzulegen.
-
Zur
Lösung
wird vorgeschlagen, von einem Server (z. B. von einem über das
Datenübertragungsnetz
erreichbaren Server, „einem
Remote Server")
anzufordern, dass ein vordefinierter (z. B. bereits mit einem Namen
und/oder einer Identifizierung versehener, d. h. „benannter") Bereich, insbesondere ein
vorgefertigter (z. B. bereits benannter) eingebetteter Frame, zurückübertragen
wird. Insbesondere wird der vordefinierter Bereich mittels Programmcode
nach Empfang der Anforderung auf dem Server generiert (alternativ
kann der eingebettete Frame auch schon vorher vorbereitet sein),
wird der Name oder eine Bezeichnung des vordefinierten Bereichs vorher
von der Steuerungseinrichtung festgelegt und mit angefordert und/oder
ist der vordefinierter Bereich Teil einer separaten Codeseite (z.
B. HTML-Seite). Als Server in diesem Sinne wird auch eine beispielsweise
unter Verwendung von Software realisierte Einrichtung verstanden,
die sich lokal am selben Ort wie der Browser befindet oder lediglich über eine
einzelne Datenleitung erreichbar ist.
-
Wenn
der vordefinierte Bereich (insbesondere der eingebettete Frame)
zurückgeliefert
wurde, kann ein Zielfenster zur Öffnung
vorbereitet und der Bereich bzw. Frame in die gesamte Verwaltung
der Fenster der Browserinstanz integriert werden.
-
Die
weitere Handhabung der Datenübertragung
und (ggf.) der Antwortdaten kann entsprechend wie bei der get-Methode
erfolgen. Insbesondere werden die Eingabedaten jedoch erst dann
per post zu dem Server übertragen,
wenn der Server bereits die vollständige Information über den
vordefinierten Bereich zurückgeliefert
hat.
-
Auf
diese Weise kann der eingebettete Frame bzw., allgemeiner formuliert,
der vordefinierte Bereich ohne Änderung
in dem Zielfenster der Browserinstanz dargestellt werden. Insbesondere
ist es für einen
Remote Server möglich,
die Anforderung unter Verwendung von Code in einer speziell für Formulardaten
geeigneten Sprache wie PHP zu erfüllen. Auch ist es möglich, die
eigentlichen darzustellenden Daten nicht oder nur teilweise zu dem
Remote Server zu übertragen
und lediglich den vordefinierten Bereich (beispielsweise den eingebetteten
Frame) anzufordern. Die Daten können
dann standardmäßig in diesem
vordefinierten Bereich dargestellt werden, der dann als Inhalt-Frame einem Layout-Frame („Skin-Frame") des Fensters zugeordnet
werden kann.
-
Alternativ
dazu können
mögliche
Ziele auch auf dem Server ermittelt werden und die zugehörigen vordefinierten
Bereiche bzw. eingebetteten Frames vom Server im vorhinein erzeugt
werden.
-
Diese
Variante, der serverseitigen Erzeugung kann auch mit der get-Datenübetragung
durchgeführt
werden, ist jedoch aufwändig.
-
Einem
elften Aspekt der vorliegenden Erfindung liegt folgendes Problem
zugrunde:
Eine herkömmliche
Webseite hat für
jede Darstellung eine eindeutig zugeordnete URL. Eine Webseite mit Teilinhalten,
die in mehreren Fenstern einer Browserinstanz dargestellt werden
können,
hat dagegen ebenfalls nur eine URL, die jedoch nicht von vornherein
einer eindeutig bestimmten Darstellung von Fenstern zugeordnet ist.
Es ist nunmehr wünschenswert,
beispielsweise durch einen Link, der z. B. per E-Mail verschickt
werden kann, auf eine bestimmte Darstellung oder Teildarstellung
einer Webseite mit potenziell mehreren Fenstern hinzuweisen.
-
Zur
Lösung
wird vorgeschlagen, für
die Teilinhalte, die in separaten Fenstern der selben Browserinstanz
darstellbar sind, eine gemeinsame URL der Webseite (etwa die URL
der Background-HTML-Seite) zu verwenden und für jeden Teilinhalt zusätzliche
Information mit dieser URL zu verknüpfen, sodass die gesamte Information
ausreichend ist, um den jeweiligen Teilinhalt in einem separaten
Fenster darzustellen. Dem Teilinhalt ist somit eine individuelle „erweiterte
URL" zugeordnet
(Deeplink).
-
Insbesondere
kann die zusätzliche
Information an die URL angehängt
werden, sodass es möglich ist,
die gesamte Information (URL plus zusätzliche Information) als Zeichenkette
zu versenden, wie es auch sonst bei einer URL der Fall ist.
-
Insbesondere
werden die mehreren Fenster der Browserinstanz so verwaltet, dass
automatisch beim Darstellen eines neuen bzw. veränderten Inhalts in einem der
Fenster die entsprechende erweiterte URL aktualisiert (z. B. gespeichert)
wird, sodass sie auf den neuen bzw. veränderten Inhalt zeigt. Alternativ
werden die Fenster so verwaltet, dass die erweiterte URL erst bei
Betätigung
einer Schaltfläche generiert
wird und/oder dann generiert wird, wenn der Inhalt des jeweiligen
Fensters geändert
wird. Die sofortige automatische Aktualisierung bei dem Anzeigen
eines neuen bzw. veränderten
Inhalts hat jedoch den Vorteil, dass sie einfacher ist und dass
die Verwaltung der erweiterten URL zumindest teilweise gemeinsam
mit anderen Verwaltungsvorgängen, wie
z. B. der individuellen Fensterhistorie (siehe oben) und/oder der
Sicherung der gesamten Konfiguration aller Fenster der Browserinstanz
vorgenommen werden kann.
-
Vorzugsweise
ist in der zusätzlichen
Information die Darstellung des Fensters betreffende Layout-Information
und/oder Formatierungsinformation enthalten, z. B. betreffend des
jeweiligen Fenster-Layouts und/oder der Fenstergröße. Weitere
Beispiele für
derartige Layout-Information und für die Fenster-Formatierung
wurden bereits anderen Orts in dieser Beschreibung gegeben. Im Ergebnis
kann durch eine Ausführung
eines entsprechenden Links der jeweilige Teilinhalt in einer definierten
Fensterdarstellung reproduziert werden.
-
Einem
zwölften
Aspekt der Erfindung liegt ein ähnliches
Problem wie dem zehnten Aspekt der Erfindung zugrunde, jedoch betrifft
der Aspekt die Sicherung der gesamten Konfiguration der mehreren Fenster
zu einem bestimmten Zeitpunkt oder in einem bestimmten Zustand.
Mit anderen Worten: es soll möglich
sein, eine bestimmte Mehrfenster-Darstellung mit denselben Inhalten
der Browserinstanz zu reproduzieren.
-
Zur
Lösung
wird vorgeschlagen, nicht nur zusätzliche Information jeweils
für einen
der Teilinhalte bzw. Fensterinhalte mit der URL zu verknüpfen, sondern
die entsprechende zusätzliche
Information für jeden
der Teilinhalte bzw. Fensterinhalte. Im übrigen sind die selben Ausgestaltungen
und Weiterbildungen möglich,
die bereits im Rahmen des elften Aspekts der Erfindung beschrieben
wurden, z. B. das Erzeugen einer einzigen Zeichenkette mit der URL und
sämtlicher
zusätzlicher
Information. Im Ergebnis ist es möglich, die gesamte Konfiguration
z. B. durch Anklicken einer entsprechenden Schaltfläche und durch
Ziehen auf den Desktop zu sichern und/oder die gesamte Konfiguration
z. B. als erweiterten Link zu versenden (etwa durch einen Klick
mit der rechten Maustaste auf die Schaltfläche und durch Auswählen eines
dann erscheinenden Feldes zum Versenden des erweiterten Links).
-
Wie
auch bei dem elften Aspekt kann die zusätzliche Information laufend
automatisch aktualisiert werden oder erst bei Bedarf, etwa beim
Betätigen
der genannten Schaltfläche.
-
Einem
dreizehnten Aspekt der Erfindung liegt folgendes Problem zugrunde:
HTML-Seiten passen
sich i. d. R. innerhalb gewisser Grenzen an die aktuelle Größe eines
Browserfensters des Benutzers an, damit wichtige Inhalte bei der
Darstellung sichtbar sind und nicht nur über die Betätigung von Scroll-Einrichtungen
dargestellt werden können.
Werden gleichzeitig mehrere Fenster der Browserinstanz dargestellt,
lässt sich
nicht mehr auf die gleiche Weise sicherstellen, dass alle besonders
wichtigen Inhalte sichtbar sind.
-
Um
eine übersichtliche
Darstellung zu erzielen, wird vorgeschlagen, dass die Größe einzelner oder
aller Fenster der Browserinstanz sich abhängig und relativ zu der Größe eines
Browserfensters, innerhalb dem sie dargestellt werden, ändert bzw.
einstellt. Auf diese Weise sind unabhängig von der Größe des Browserfensters
immer alle gewünschten (der
Programmierung und/oder den Wünschen
des Nutzers entsprechenden) Fenster der Browserinstanz dargestellt.
-
Insbesondere
wird vorgeschlagen, dass bei einem Start der Darstellung (etwa beim
Laden der Webseite) durch die Steuerungseinrichtung ein üblicherweise
gesetztes Resize-Ereignis ausgewertet wird. Beim Auswerten des Resize-Ereignisses
werden dann die Fenster ggf. neu positioniert und/oder in ihrer
Größe angepasst
(resized).
-
Für jedes
Fenster der Browserinstanz kann insbesondere vom Programmierer und/oder
vom Benutzer einer Webseite definiert werden, ob das Fenster sich
relativ zu der Größe des Browserfensters ändern soll
oder nicht.
-
Insbesondere
bleibt bei einem Fenster mit relativer Größenänderung sowohl die Breite als
auch die Höhe
des Fensters im selben Verhältnis
zur Breite bzw. Höhe
des Browserfensters. Hierzu können insbesondere
vom Programmierer der Webseite jeweils für die Höhe und die Breite des Verhältnis oder ein
entsprechender Wert und eine relative Position des Fensters zu dem
Browserfenster angegeben werden.
-
In
einer besonders bevorzugten Ausprägung dieses Aspektes werden
nur bestimmte Koordinaten- oder Größen-Änderungen durchgeführt, etwa
nur die Breite oder die Höhe
eines Fensters und nicht die Koordinaten des Fensters angepasst.
-
Einem
vierzehnten Aspekt der Erfindung liegt folgendes Problem zugrunde:
Bei einer Ausgestaltung der Erfindung ist es möglich, die Position der einzelnen
Fenster der Browserinstanz auf dem Darstellungsmittel beispielsweise
durch Ziehen mit einem Zeigerhilfsmittel zu verändern. Dabei kann es vorkommen,
dass ein einzelnes Fenster aus dem Darstellungsbereich der Browserinstanz
hinaus verschoben wird, insbesondere wenn eine Zeigerposition des
Zeigerhilfsmittels auf dem Darstellungsmittel (z. B. Position des
Mauszeigers) nach außerhalb
des Browserfensters verlegt wird. Unter Umständen ist es dann nicht mehr
möglich,
bei der gegenwärtigen
Größe des Browserfensters
das (teilweise oder ganz) außerhalb
des Browserfensters liegende Fenster wieder zurück zu bewegen.
-
Es
wird vorgeschlagen, ein Lösen
eines auf dem Darstellungsmittel verschobenen Elements, insbesondere
eines der Fenster, von dem Zeigerhilfsmittel zu blockieren, wenn
eine Zeigerposition aus einem definierten Bereich innerhalb des
Browserfensters bewegt wird. Der definierte Bereich kann auch mit
dem Browserfenster übereinstimmen.
Er muss aber nicht vollständig
auf dem Darstellungsmittel dargestellt sein, da z. B. auch ein Teil
des Browserfensters außerhalb
des Darstellungsbereichs des Darstellungsmittels liegen kann.
-
Alternativ
oder zusätzlich
zu der Zeigerposition kann überwacht
werden, ob zumindest noch ein Teil des Fensters oder ein mit einer
bestimmten Eigenschaft ausgestatteter Teil des Fensters innerhalb des
definierten Bereichs des Browserfensters liegt. Wenn dies nicht
der Fall ist und insbesondere solange dies nicht der Fall ist, wird
das Lösen
von dem Zeigerhilfsmittel blockiert. Unter dem mit einer bestimmten
Eigenschaft ausgestatteten Teil des Fensters wird ein solcher Teil
verstanden, der für
ein Verschieben des Fensters geeignet ist, wenn mit Hilfe des Zeigerhilfsmittels
darauf gezeigt wird. Es ist nämlich
z. B. möglich,
dass ein Verschieben des Fensters nur funktioniert, wenn mit dem
Zeigerhilfsmittel auf bestimmte Teile wie z. B. eine Kopfzeile gezeigt
wird und dann gezogen wird.
-
Das
Blockieren hat die Folge, dass das gezogene Element nicht verloren
geht und automatisch wieder in den definierten Bereich gelangt,
wenn das Zeigerhilfsmittel entsprechend bewegt wird.
-
Insbesondere
kann durch ein Loslassen einer gedrückt gehaltenen Maustaste, wodurch
normalerweise das Ziehen beendet wird, das gezogene Element nicht
mehr vom Mauszeiger gelöst
werden, wenn der definierte Bereich verlassen wurde.
-
Einem
fünfzehnten
Aspekt der Erfindung liegt folgendes Problem zugrunde: Bei einer
Ausgestaltung der Erfindung ist es möglich, die Größe der einzelnen
Fenster der Browserinstanz auf dem Darstellungsmittel zu verändern. Hierzu
kann beispielsweise das Fenster entsprechend einer Bewegung eines
Zeigerhilfsmittels vergrößert bzw.
verkleinert werden und kann das Fenster samt Inhalt permanent während der
Bewegung entsprechend vergrößert bzw.
verkleinert dargestellt werden. Bei der Bewegung zeigt das Zeigerhilfsmittel
zum Beispiel zunächst
auf einen bestimmten Bereich des Fensters und wird dann wie beim
Ziehen bewegt (z. B. bei gedrückt
gehaltener linker Maustaste). Ein permanentes Darstellen des vergrößerten oder
verkleinerten Fensters samt Inhalt ist jedoch sehr rechenaufwendig.
-
Es
wird vorgeschlagen, bei der Bewegung des Zeigerhilfsmittels lediglich
Linien auf dem Darstellungsmittel darzustellen, die Ränder des
entsprechend vergrößerten oder
verkleinerten Fensters markieren. Wenn der Vergrößerungs- bzw. Verkleinerungsvorgang
des Fensters beendet wird, wird das verkleinerte oder vergrößerte Fenster
mit samt Inhalt dargestellt, wobei das Fenster dann die Größe entsprechend
den zuletzt dargestellten Rändern
hat bzw. dann die Größe entsprechend
der Position des Zeigerhilfsmittels am Ende des Vorganges hat.
-
Um
die insbesondere vier Ränder
entsprechend einem Rechteck darzustellen, wird vorgeschlagen, jeden
der dargestellten Ränder
bei der Steuerung durch einen eingebetteten Frame (in HTML z. B.
das Element <iframe>) zu verwalten. Die Verwaltung
wird insbesondere durch eine Ausgestaltung der oben beschriebenen
Steuerungseinrichtung durchgeführt.
Dabei hat der eingebetteten Frame im allgemeinen eine sehr viel
kleinere Breite als Länge, sodass
ein linienartiges Aussehen eines Randes erzielt wird. Insbesondere
ist die Breite (z. B. ein oder zwei Pixel) während des gesamten Vergrößerungs- beziehungsweise
Verkleinerungsvorganges konstant, während sich die Länge des
jeweiligen Randes entsprechend der Bewegung des Zeigerhilfsmittels ändert. Eingebettete
Frames haben die bereits schon erwähnte Eigenschaft, generell
im Vordergrund dargestellt werden zu können. Sie werden daher vorzugsweise
während
des Vorganges dauerhaft im Vordergrund dargestellt und es kann nicht
passieren, dass ein anderes Darstellungselement unbeabsichtigt im
Vordergrund dargestellt wird, sodass beispielsweise eine der Randlinien
unterbrochen wäre.
-
Es
ist nicht unbedingt erforderlich, immer alle vier Ränder des
Fensters während
des Vorganges unter Verwendung eines solchen eingebetteten Frames
darzustellen. Vielmehr kann es in bestimmten Situationen (z. B.
wenn lediglich die Breite oder Höhe des
Fensters verändert
wird) ausreichen, das Fenster samt Inhalt wie bisher darzustellen und
zusätzlich z.
B. drei der vier Ränder
des potenziell vergrößerten oder
verkleinerten Fensters. Es wird jedoch bevorzugt, in allen Situationen
alle vier Ränder
des potenziell vergrößerten oder
verkleinerten Fensters darzustellen, sodass ein rechteckiger Rahmen
während des
Vorganges sichtbar ist.
-
Eine
Ausführungsform
des fünfzehnten
Aspekts der Erfindung wird nun anhand von 8 illustriert:
Ein Browserfenster 30 enthält ein Fenster 31, das
während
des Vorganges seiner Vergrößerung samt
Inhalt in der ursprünglichen
Größe dargestellt bleibt.
Während
des Vorganges werden jedoch vier, ein Rechteck bildende Ränder 23a, 23b, 23c, 23d dargestellt.
Diese Ränder 23 stellen
die momentane Größe dar,
die das Fenster 31 erhalten würde, wenn der Vorgang der Vergrößerung in
diesem Moment beendet würde
(beispielsweise durch Loslassen einer Maustaste, die während des
Vorganges gedrückt
gehalten wurde).
-
Einem
sechzehnten Aspekt der Erfindung liegt folgendes Problem zugrunde:
Wie bereits erwähnt
kann ein Layout eines Fensters unter Verwendung einer Mehrzahl von
Bildelementen mit entsprechenden kombinierten Funktionen im vorhinein
erstellt werden. Beispielsweise weist ein Fenster eine Schaltfläche an der
rechten oberen Ecke auf, bei deren Betätigung (z. B. Mausklick) das
Fenster geschlossen wird. Auch kann ein Fenster, wie ebenfalls bereits
erwähnt,
eine Kopfzeile, eine Fußzeile und/oder
weitere Elemente (insbesondere Schaltflächen für die Historie oder ein erneutes
Laden, d. h. einen Reload) haben. Wie weiterhin bereits erwähnt kann
das Layout bei der Steuerung der Darstellung durch zumindest einen
eingebetteten Frame (in HTML z. B. das Element <iframe>) und/oder ein Blockelement (in HTML z.
B. das Element <div>) verwaltet werden.
-
Werden
aber beispielsweise erst beim Öffnen
eines neuen Fensters während
der Laufzeit all diese Funktionen mit den entsprechenden Elementen
verknüpft
und die Elemente erstmals dargestellt, ist der erforderliche Rechenaufwand
hoch und kann sich daher die Darstellung des Fensters samt Inhalt merklich
verzögern,
zu Fehlern führen
oder gar ganz abbrechen.
-
Zur
Lösung
wird vorgeschlagen, bei der Definition eines Fenster-Layouts zumindest
eine Codeseite (insbesondere eine HTML-Webseite) speziell für das Layout
zu definieren, die sämtliche
Elemente und die zugehörigen
Funktionen enthält.
Die spezielle Codeseite ist dann bereits funktionsfähig und
muss lediglich noch steuerungstechnisch mit dem darzustellenden
Inhalt verknüpft
werden. Unter einer Codeseite wird eine entsprechende Gruppe von
Codeelementen verstanden, die einen für den Browser bereits verständlichen
Code bilden. Sie kann insbesondere in der Form einer vollständigen HTML-Seite vorliegen,
die jedoch noch keinen eigentlichen Inhalt hat. Z. B. können die
Codeelemente der Seite bereits so ausgestaltet sein, dass sie die
im Zusammenhang mit den anderen Aspekten der Erfindung beschriebenen
Funktionen ermöglichen,
etwa auf den jeweiligen Browser angepasst das Ziehen des Fensters über andere
Elemente hinweg.
-
Ein
siebzehnter Aspekt der Erfindung ist insofern mit dem sechzehnten
Aspekt verbunden, als er ebenfalls die Definition des Layout von
Fenstern der Browserinstanz betrifft und prinzipiell von der Möglichkeit
ausgeht, das Layout zumindest teilweise in einer Codeseite zu definieren.
-
Eine
derartige Codeseite kann durch eine Vielzahl von Codeelementen mit
entsprechenden Funktionen komplex werden, sodass Änderungen
bei der Definition des Fenster-Layouts aufwändig werden.
-
Zur
Lösung
wird vorgeschlagen, zumindest Teile der Definition für eine Mehrzahl
der Fenster-Layouts zentral an einer gemeinsamen Stelle vorzunehmen.
Insbesondere wird vorgeschlagen, durch Verwendung und/oder Erweiterung
der CSS (Common Style Sheet)-Syntax in entsprechender Weise gemeinsame
Layout-Definitionen vorzunehmen und in einer oder mehreren entsprechenden
Codeseiten abzulegen.
-
Bei
der Verwendung (insbesondere wenn während der Laufzeit des Browsers
ein neues Fenster dargestellt werden soll) von solchen in zumindest einer
gemeinsamen Codeseite abgelegten Definitionselementen kann beispielsweise
folgendermaßen vorgegangen
werden:
Zunächst
wird der gemeinsame Block von Codeelementen durch die Steuerungseinrichtung
geladen. Dann wird der gemeinsame Block analysiert (parsen) und
die Definitionen entsprechend zerlegt, um sie verwenden zu können. Anschließend findet
eine Zuordnung der zerlegten Definitionen zu den jeweiligen Codeelementen
der Codeseite statt. Schließlich
werden Eigenschaften der Codeelemente entsprechend der zugeordneten
Definitionsteile gesetzt.
-
Einem
achtzehnten Aspekt der Erfindung liegt folgendes Problem zugrunde:
Wie bereits oben beschrieben können
der Inhalt eines Fensters und das Layout eines Fensters, inkl. einem
einen Titel des Inhalts wiedergebenden Titelfeld (z. B. Titelleiste)
getrennt verwaltet werden. Somit werden auch der Inhalt des Fensters
und der darzustellende Titel des Inhalts getrennt verwaltet. Beim Öffnen und
Beladen eines neuen Fensters oder beim Beladen eines vorhandenen
Fensters mit neuem Inhalt ist das Titelfeld richtig, dem anzuzeigenden
Inhalt entsprechend zu setzen.
-
Zur
Lösung
wird vorgeschlagen, beim Laden eines Inhalts, der in einem Fenster
der Browserinstanz dargestellt werden soll, den Inhalt selbst auszuwerten
und daraus den Titel festzustellen. Der Titel kann dann der zugehörigen separaten
Verwaltungseinheit, insbesondere einem eingebetteten Frame, zugeleitet
und/oder zugeordnet werden. Insbesondere wird im Fall von HTML vorgeschlagen,
einen <title>-Tag des Inhalts (der
bei Standard-HTML lediglich Text enthalten darf) auszuwerten. Weiterhin
bestehen jedoch zusätzlich
oder alternativ nahezu unbegrenzte Möglichkeiten, durch die Auswertung
des Inhalts das Layout des Fensters zu beeinflussen. Insbesondere
kann der Inhalt vorher definierte und daher vom Programmierer verwendbare
Information enthalten, die z. B. eine bestimmte farbliche Gestaltung
und/oder einen anderen visuellen Effekt der Darstellung (wie z.
B. ein Aufleuchten von Teilen des Fensters oder des Layouts) bewirkt.
Weiterhin ist es möglich,
durch die Auswertung des Inhalts beispielsweise zu ermitteln, dass
während
der Darstellung des Fensters eine Bildsequenz dargestellt werden
soll, etwa im Fensterrahmen ein Videoclip und/oder eine Animation
ablaufen soll.
-
Insbesondere
kann, wie oben bereits erwähnt,
der <title>-Tag des Inhalts verwendet
und analysiert werden. Auf Grund der erfindungsgemäßen Art
der Fensterverwaltung braucht der <title>-Tag auch nicht auf
bloßen
Text beschränkt
zu bleiben. Vielmehr kann der oben beschriebene Codeblock bzw. das
oben beschriebene Programm zur Steuerung der Fensterdarstellung
(z. B. unter Verwendung von Java Script erzeugter Codeblock) den <title>-Tag auch in anderer
Weise als der Browser interpretieren. Entsprechendes gilt für jedes
andere Feld oder Element des in dem Fenster darzustellenden Inhalts.
-
Der
Ablauf der Auswertung des Inhalts und der Steuerung der Darstellung
ist beispielsweise wie folgt:
- – laden
des Inhalts,
- – analysieren
und erkennen der Steuerungsinformation,
- – durchführen der
Darstellung des Fensterinhalts und des Layouts entsprechend der
Steuerungsinformation.