|
Letzte
Bearbeitung dieses Dokuments: |
Voraussetzung für das Verständnis dieses Dokuments:Kenntnisse von HTML-Code und Javascript. |
Ungefährer Zeitaufwand für das Durcharbeiten dieses Dokumentes:In diesem Dokument
wird gelistet, welche Javascript-Funktionen für die JavaScout
Web-Präsentation aus HTML-Dokumenten aufgerufen werden und
welche Parameter dabei nötig sind. |
Dieses
Dokument beschreibt die Variablen und Javascript-Arrays für die
Anzeige von passenden Dokumenten in den Umgebungs-Frames der
Web-Präsentation.
Welches Dokument in welchem Umgebungs-Frame
angezeigt wird hängt vom Themenbereich und der Sprache des
Dokumentes, das als Haupt-Inhalt angezeigt wird ab.
Diese Variablen und Arrays werden von der Javascript-Funktion verifyFramesContent(...) (Beschreibung in Erstellung einer Web-Präsentation – Javascript-Programme > Funktion verifyFramesContent(...)) verwendet um die anzuzeigenden Dokumente für die Umgebungs-Frames zu ermitteln.
Vorbedingungen
Vorbemerkung
Aufgabe
von LogoFrameName
und
ContentFrameName
Aufgabe
von WebFrameArray
Aufgabe
von WebSectionArray
Aufgabe
von LanguageArray
Aufgabe
von FrameworkArray
Weitere
Schritte und verwandte Dokumentation
Kenntnisse der Programmierung mit Javascript.
Überblick
über den Aufbau der Web-Präsentation; Empfohlen ist das
Durchlesen der Dokumente mit dem Tutorial;
Das
Inhaltsverzeichnis dazu finden Sie unter Tutorial
für die Gestaltung einer Web-Präsentation wie dieser.
Vorbemerkung
Bevor
Sie mir einen E-Mail senden, dass die Implementierung auch 'moderner'
sein kann -
lesen Sie bitte meine Gründe die
Programmier-Entscheidungen so zu treffen wie sie sind:
Zum
Testen verwende ich einen Uralt-Computer mit Pentium I / 150 MHz und
48 MB RAM.
Als Betriebssystem ist Windows 98SE und als Browser
ist Firefox Version 2.0.0.17 installiert.
Diese 'lahme Ente' ist
deswegen noch in Betrieb weil ich damit teste, ob
Java-Client-Programme und auch Javascript-Funktionen noch akzeptabel
schnell laufen.
Mit XML-Dateien zur Steuerung der Web-Präsentation ist die 'lahme Ente' hoffnungslos überfordert – deswegen verwende ich die Arrays in Javascript-Format.
Und
weil ich schon beim Optimieren war:
Ich weiß, dass ich die
Größe eines Arrays auch im Code abfragen kann. Aber
schneller läuft der Code wenn die Größe eines Arrays
bereits als Wert einer Variable vorhanden ist.
Zum Ansehen einer Datei mit Muster-Code laden Sie bitte die Muster-Präsentation (wie in Tutorial: Gestaltung einer Web-Präsentation – Herunterladen der Muster-Verzeichnisstruktur mit den Javascript-Dateien beschrieben) herunter und Öffnen mit einem Editor die Datei 'FrameworkArray.js' im Verzeichnis '_referenceArrays'.
Für
eine größere Anzahl von zu verwaltenden Themenbereichen in
verschiedenen Sprachen ist es sinnvoll, das Anwendungsprogramm
JavaScout
ProjectAssist zu
verwenden.
In JavaScout
ProjectAssist können
die Sprachen, Namen der Umgebungs-Frames und die Themenbereiche über
eine komfortable Benutzeroberfläche erfasst werden
Aus den
erfassten Informationen können die Dateien mit den hier
beschriebenen Arrays generiert werden.
Aufgabe
von
LogoFrameName
und
ContentFrameName
Zuerst das Muster aus der Datei 'FrameworkArray.js':
var
LogoFrameName = 'Logo';
var ContentFrameName = 'Content';
Diese
beiden Variablen legen bestimmen die Namen der Frames für das
'Logo'-Dokument und für die Dokumente mit dem
Haupt-Inhalt.
Innerhalb des 'Logo'-Dokumentes ist in einem
versteckten Feld der Code der aktuellen Sprache abgelegt.
Der Name
des Frames für die Dokumente mit Haupt-Inhalt ist notwendig, um
zu ermitteln welches Dokument aktuell angezeigt wird und dafür
die Sprache und den Themenbereich zu ermitteln.
Wenn sich Sprache
und / oder Themenbereich des Dokuments mit dem Haupt-Inhalt geändert
haben dann werden die in den Umgebungs-Frames angezeigten Dokumente
angepasst.
Aufgabe
von
WebFrameArray
Zuerst das Muster aus der Datei 'FrameworkArray.js':
var
WebFrameArray;
funktion loadWebFrameArray(){
WebFrameArray =
new Array(4);
WebFrameArray[0]
= 'Language';
WebFrameArray[1]
= 'Mail';
WebFrameArray[2]
= 'TOC1';
WebFrameArray[3]
= 'TOC2';
}
var WebFrameArray_Members = 4;
In
diesem Array ist festgelegt, welche Namen die Umgebungs-Frames der
Web-Präsentation haben.
Hier sind alle HTML-Frames gelistet,
deren Inhalts-Dokument von Sprache und / oder Themenbereich des als
Haupt-Inhalt angezeigten Dokumentes abhängt.
Die Reihenfolge
des Frame-Namens in diesem Array bestimmt auch, in welcher
Reihenfolge in der 'Dimension 1' des FrameworkArray
die weiteren Entscheidungs-Variablen (Sprache und Themenbereich)
enthalten sind.
Die
Funktion muss, bevor eine andere Javascript-Funktion das auf das
Array zugreifen will, aufgerufen werden – damit wird das Array
erstellt und mit den Werten gefüllt.
Wenn
Sie den Code manuell erstellen beachten Sie bitte auch,
var
WebFrameArray_Members
mit dem korrekten Wert zu füllen.
Meine Anmerkung dazu finden
Sie im Abschnitt Vorbemerkung
;-).
Aufgabe
von
WebSectionArray
Zuerst das Muster aus der Datei 'FrameworkArray.js':
var
WebSectionArray;
funktion loadWebsectionArray(){
WebSectionArray
= new Array(10);
WebSectionArray[0]
= 'Bereich_A';
WebSectionArray[1]
= 'Bereich_B';
WebSectionArray[2]
= 'Bereich_C';
WebSectionArray[3]
= 'Bereich_D';
WebSectionArray[4]
= 'Bereich_E';
WebSectionArray[5]
= 'Bereich_F';
WebSectionArray[6]
= 'Bereich_G';
WebSectionArray[7]
= 'Bereich_H';
WebSectionArray[8]
= 'Bereich_I';
WebSectionArray[9]
= 'Bereich_J';
}
var
WebSectionArray_Members = 10;
In
diesem Array ist festgelegt, in welche Themenbereiche die
Web-Präsentation unterteilt ist.
Hier sind alle Namen der
Unterverzeichnisse gelistet die (weiter unterteilt durch
Verzeichnisse mit dem Sprach-Code) Dateien mit den Dokumenten, die
den Haupt-Inhalt der Web-Präsentation repräsentieren,
enthalten.
Die Reihenfolge des Themenbereich-Namens in diesem
Array bestimmt auch, in welcher Reihenfolge in der 'Dimension 3' des
FrameworkArray
die
weitere Entscheidungs-Variable (Themenbereich) für die einzelne
Sprache enthalten ist.
Die
Funktion muss, bevor eine andere Javascript-Funktion das auf das
Array zugreifen will, aufgerufen werden – damit wird das Array
erstellt und mit den Werten gefüllt.
Wenn
Sie den Code manuell erstellen beachten Sie bitte auch,
var
WebSectionArray_Members
mit dem korrekten Wert zu füllen.
Meine Anmerkung dazu finden
Sie im Abschnitt Vorbemerkung
;-).
Aufgabe
von
LanguageArray
Zuerst das Muster aus der Datei 'FrameworkArray.js':
var
LanguageArray;
funktion loadLanguageArray(){
LanguageArray =
new Array(2);
LanguageArray[0]
= 'de';
LanguageArray[1] =
'en';
}
var LanguageArray_Members = 2;
In
diesem Array ist festgelegt, in welchen Sprachen Dokumente mit
Haupt-Inhalt vorhanden sind.
Die Reihenfolge der Sprache in diesem
Array bestimmt auch, in
welcher Reihenfolge in der 'Dimension 2' des
FrameworkArray
die
Dateinamen mit den anzuzeigenden HTML-Dokumenten festgelegt sind.
Wenn
Sie den Code manuell erstellen beachten Sie bitte auch,
var
LanguageArray_Members
mit dem korrekten Wert zu füllen.
Meine Anmerkung dazu finden
Sie im Abschnitt Vorbemerkung
;-).
Aufgabe
von
FrameworkArray
Zuerst das Muster aus der Datei 'FrameworkArray.js'; Wieherholungen oder ähnliche Teile des Codes sind ausgeblendet:
var
FrameworkArray;
funktion loadFrameworkArray(){
FrameworkArray =
new Array(4);
FrameworkArray[0]
= new Array(2);
FrameworkArray[0][0]
= new Array(10);
FrameworkArray[0][0][0]
=
'_non_content_documents/de/JSWD_Language_Selection_All_de.html';
FrameworkArray[0][0][1]
= '_non_content_documents/de/JSWD_Language_Selection_All_de.html';
.
. . . .
. . . . .
FrameworkArray[0][0][9]
=
'_non_content_documents/de/JSWD_Language_Selection_All_de.html';
FrameworkArray[0][1]
= new Array(10);
FrameworkArray[0][1][0]
=
'_non_content_documents/en/JSWD_Language_Selection_All_en.html';
FrameworkArray[0][1][1]
= '_non_content_documents/en/JSWD_Language_Selection_All_en.html';
.
. . . .
. . . . .
FrameworkArray[0][1][9]
=
'_non_content_documents/en/JSWD_Language_Selection_All_en.html';
FrameworkArray[1]
= new Array(2);
FrameworkArray[1][0]
= new Array(10);
FrameworkArray[1][0][0]
=
'_non_content_documents/de/JSWD_Mail_de.html';
FrameworkArray[1][0][1]
= '_non_content_documents/de/JSWD_Mail_de.html';
. . . . .
. .
. . .
FrameworkArray[1][1][9]
= '_non_content_documents/en/JSWD_Mail_en.html';
FrameworkArray[2]
= new Array(2);
FrameworkArray[2][0]
= new Array(10);
FrameworkArray[2][0][0]
=
'_non_content_documents/de/JSWD_Menu_1_de.html';
FrameworkArray[2][0][1]
= '_non_content_documents/de/JSWD_Menu_1_de.html';
. . . . .
.
. . . .
FrameworkArray[2][1][9]
= '_non_content_documents/en/JSWD_Menu_1_en.html';
FrameworkArray[3]
= new Array(2);
FrameworkArray[3][0]
= new Array(10);
FrameworkArray[3][0][0]
=
'_non_content_documents/de/JSWD_Menu_2A_de.html';
FrameworkArray[3][0][1]
= '_non_content_documents/de/JSWD_Menu_2B_de.html';
. . . . .
.
. . . .
FrameworkArray[3][0][9]
=
'_non_content_documents/de/JSWD_Menu_2J_de.html';
FrameworkArray[3][1]
= new Array(10);
FrameworkArray[3][1][0]
=
'_non_content_documents/en/JSWD_Menu_2A_en.html';
FrameworkArray[3][1][1]
= '_non_content_documents/en/JSWD_Menu_2B_en.html';
. . . . .
.
. . . .
FrameworkArray[3][1][9]
= '_non_content_documents/en/JSWD_Menu_2J_en.html';
}
var
FrameworkArray_Members = 10;
In
diesem Array ist festgelegt, welche Dokumente im jeweiligen
HTML-Frame angezeigt werden wenn das Dokument mit dem Haupt-Inhalt zu
einer bestimmten Sprache und einem bestimmten Themenbereich gehören.
Dazu
wird die 'Dimension 1' des Arrays angelegt, die die Namen der
einzelnen HTML-Frames, die als Umgebungs-Frames festgelegt sind,
enthält:
FrameworkArray
= new Array(4
);
Innerhalb
eines Elements der 'ersten Dimension' zu wird eine weitere Dimension
(Dimension 2) angelegt, die für jede verwendete Sprache ein
Element enthält:
FrameworkArray[x
]
= new Array(
2
);
Innerhalb
eines Elements der 'Dimension 2' zu wird eine weitere Dimension
(Dimension 3) angelegt, die für jeden Themenbereich (aus
WebSectionArray
)
ein Element enthält:
FrameworkArray[x
][
y
]
= new Array(
10
);
Diese
Elemente enthalten dann die Dateinamen der Dokumente, die in einem
bestimmten HTML-Frame (festgelegt durch Dimension 1 des Arrays)
angezeigt werden wenn das Dokument mit dem Haupt-Inhalt zu einer
bestimmten Sprache (festgelegt durch Dimension 2 des Arrays) und zu
einem bestimmten Themenbereich (festgelegt durch Dimension 3 des
Arrays) gehört:
FrameworkArray[2
][
0
][
0
]
=
'_non_content_documents/de/JSWD_Menu_1_de.html';
FrameworkArray[2
][
0
][
1
]
= '_non_content_documents/de/JSWD_Menu_1_de.html';
Dabei
gelten folgende Regeln:
Die
Reihenfolge der Werte in den einzelnen Dimensionen ist durch die
Reihenfolge der Namen für die HTML-Frames im Array
WebFrameNameArray
,
durch die Reihenfolge der Sprachen im Array
LanguageArray
und durch die Reihenfolge der Themenbereiche im Array
WebSectionArray
,
festgelegt.
Die
Verzeichnis-Struktur für die Dokumente beginnt erst unterhalb
des 'Home'-Verzeichnisses.
Das 'Home'-Verzeichnis ist jenes
Verzeichnis, in dem die Datei 'control_index.html' enthalten
ist.
Mehr über den Aufbau der Verzeichnis-Struktur erfahren
Sie unter Technische
Hintergrund-Information für die Web-Präsentation –
Unterverzeichnis -Struktur für die Web-Präsentation
.
Die
Funktion muss, bevor eine andere Javascript-Funktion das auf das
Array zugreifen will, aufgerufen werden – damit wird das Array
erstellt und mit den Werten gefüllt.
Wenn
Sie den Code manuell erstellen beachten Sie bitte auch,
var
FrameworkArray_Members
mit dem korrekten Wert zu füllen.
Meine Anmerkung dazu finden
Sie im Abschnitt Vorbemerkung
;-).
Dokument |
Inhalt |
In diesem sind die Javascript-Dateien und -Funktionen, die auf die hier beschriebenen Arrays zugreifen, gelistet und beschrieben. |