2 3 3 21 0 0 0

Wertübergabe mittels URL-Anhang

Das Beispiel zeigt eine Auswertung, wie sie im selfhtml.wiki erklärt wird ( scrollen bis: Beispiel – empfangendes Dokument )

Bezeichner Wert

Die Auswertung der Variablen var liste erfolgt in der tabellarischen Ansicht. Hier könnte mit der Vergabe einer #id an "...<td id="+eigenschaft+">" + liste[eigenschaft] + "</td> eine spätere Wertabfrage erfolgen. Dennoch dient es nur der Domonstration. Den Variablen qs_k, qs_s und qs_og wird aus var liste der Wert übergeben.
Legende: k steht für die Themenbereiche = Ordner 1. Ordnung, s erhält eine durchlaufende Nummerierung der gefundenen Seiten, ogr gibt Auskunft, ob sich eine Seite im Hauptordner oder einem Unterordner befindet, fnr ist die indiviuell festzulegende Nummerierung um als zu inkludierende Datei erkannt zu werden, eine alphabetischen Reihung auszuschließen und der Festlegung der Position in Haupt- oder Unterordner also ul level 1 oder 2.
In PHP ► Auto-Verweise ► Darstellung wird dies beschrieben.

Skriptausgabe:

23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
<script
function 
Werteliste (querystring) { 
    if (
querystring == '') return; 
    var 
wertestring querystring.slice(1); 
    var 
paare wertestring.split("&"); 
    var 
paarnamewert
    for (var 
0paare.lengthi++) {
     
paar paare[i].split("="); 
     
name paar[0]; 
     
wert paar[1]; 
     
name unescape(name).replace("+"" "); 
     
wert unescape(wert).replace("+"" "); 
     
this[name] = wert
    } 

var 
liste = new Werteliste(location.search); 
var 
qs_k liste['k'] ;
var 
qs_s liste['s'] ;
var 
qs_og liste['ogr'] ;
</script>

Ausgabe in der Tabelle:

47
48
49
50
51
52
53
54
55
56
57
58
<table border="1" cellpadding="2" cellspacing="0"
 <
tr
 <
th>Bezeichner</th
 <
td>Wert</td
 </
tr
 <
script
 for (var 
eigenschaft in liste) { 
  var 
form =  "<tr><td>"+eigenschaft+"</td><td><code>"+liste[eigenschaft]+"</code></td></tr>" ;
  
document.writeform );
 } 
 
</script> 
</table>

Nun das direkte Auslesen der Variablen mit document.write(qs_k) usw.
qs_k (var qs_k = liste['k'] ;):
qs_s (var qs_s = liste['s'] ;):
qs_og (var qs_og = liste['ogr'] ;):


var welcheSeite = document.getElementById('qs_s').innerHTML ;

Die Variable welcheSeite kann nun in Zeilen unterhalb irgend etwas bewerkstelligen, wenn man will!

Kürzer und von mir bevorzugt, ist der Einsatz von PHP:


// PHP vor dem <body>
$dir = isset($_GET['k']) ? $_GET['k'] : 0 ;
$file = isset($_GET['s']) ? $_GET['s'] : 0 ;
$og = isset($_GET['ogr']) ? $_GET['ogr'] : 0 ;
$seite = ${"arfi_url$dir"}[$file] ;
// im <body> an vorderer Stelle wird: <aside id='file'><?php echo $file ; ?></aside> gesetzt. 
// Die CSS-Eigenschaft: #file{ visibility: hidden; }

Diese Seite hat die URL wie in ${"arfi_url$dir"}[$file] gespeichert: ../03_JavaScript/21_Query-String.htx ,
weil die Arrayzeile: 3 diese Auskunft gibt, oder direkt aus der Variablen $seite: ../03_JavaScript/21_Query-String.htx gelesen.
In einem der Container <article> oder <section> wird die PHP-Anweisung geschrieben:


<article id="contain">
 <?php include $seite ; ?>
</article>
// Somit wird der Inhalt dieser als auch jeder anderen Seite in das <article>-Element in <main> übertragen.

Bei einer solche Herangehensweise ist der Einsatz von PHP nötig. Die Verarbeitung des Query-Strings mittels JavaScript zum Zweck des Seitenaufrufes führt nur über Umwege zum Erfolg. Das heißt Frames müssen eingesetzt und mit den Nachteilen gelebt werden. Dazu gibt es eingehende Erläuterungen HTML ► Frames. PHP hat seinen eigenen Bereich, um weiteres zu beleuchten.

ABER um Elemente dynamisch zu positionieren, Hintergrundbilder einem Thema anzupassen und vieles mehr, bleibt der Einsatz von JavaScript mit der Möglichkeit, auf die URL-Anhänge reagieren zu können, für mich die erste Wahl.
Es kommt halt darauf an, was man will!




Dokument geändert am: 19. Dez. 2017 14:40