Hallo.
Was kann ich noch tun, um das Problem zu beheben?
Uns den ganzen Quelltext zeigen. Vor allem die PHP und Javascirpt Codes die drin stecken, dort stecken meist die Performance-Stopper.
Nun ja, warum auch nicht? Hier also der gesamte relevante Code:
Der Aufruf der Seite erfolgt in einem Frameset aus einem anderem Frame (namens Maske) heraus:
parent.Buchstabe.location.href="Buchstabe1.php?PHPSESSID="+sessid+
"&B=ABCDEFGHIJKLMNOPQRSTUVWXYZÄÖÜß _.,-";
Buchstabe1.php:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<? session_start() ?>
<html><head><title>Buchstabenlisting</title>
<meta http-equiv="Content-Script-Type" content="text/javascript">
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
<meta http-equiv="Content-Style-Type" content="text/css">
<link rel="stylesheet" type="text/css" href="formate.css">
<script src="klick.js" type="text/javascript">
</script>
</head>
<body onfocus="Klick3();" onclick="Klick3();" ondblclick="Klick3();">
<?
$start = date("h:i:s");
if (!isset($_GET['B'])){
$_GET['B'] = '';
}//if (!isset($_GET['B']))
$buchstabe=$_GET['B'];
if(isset($_SESSION['hoehe']) && isset($_SESSION['breite'])){
$hoehe = $_SESSION['hoehe'];
$breite = $_SESSION['breite'];
}//if(isset($_SESSION['hoehe']) && isset($_SESSION['breite']))
else{
die("Die Session wurde unterbrochen!");
}//else
$auswahl=0; ?>
<div style='height:<?=$hoehe?>px; width:<?=$breite?>px; margin-top:0px; margin-left:0px;'>
<?php
echo "<table cellpadding='7' cellspacing='0' border='8' align='left' style='margin-top:20px; margin-left:20px;'>";
echo "<tr bgcolor='#DB8176'>";
echo "<td align='center'><b>0</b></td>";
echo "<td align='center' colspan='5'>Zurück</td>";
echo "</tr>";
while (strlen($buchstabe)>0){
$auswahl++;
echo "<tr bgcolor='#A3F3F9'>";
echo "<td align='center' bgcolor='#DB8176'><b>$auswahl</b></td>";
for($x=5;$x>0;$x--){
$ausdruck=substr($buchstabe,0,1);
$buchstabe=substr($buchstabe,1);
echo "<td align='center'><b>$ausdruck</b></td>";
}//for($x=5;$x>0;$x--)
echo "</tr>";
}//while strlen($buchstabe)>0
echo "<tr bgcolor='#DB8176'>";
echo "<td align='center'><b>,</b></td>";
echo "<td align='center' colspan='5'>Buchstabe löschen</td>";
echo "</tr>";
echo "</table>";
$tiempo = date("h:i:s");
$dureza = $start - $tiempo;
echo "$dureza";
?>
</div>
</body>
</html>
klick.js:
function Klick1(){
if(parent.parent.fokus == "Fenster1"){
self.focus();
}//if(parent.parent.fokus == "Fenster1")
else if(parent.parent.fokus == "Maske"){
parent.Maske.focus();
}//else if(parent.parent.fokus == "Maske")
else if(parent.parent.fokus == "Buchstabe"){
parent.Buchstabe.focus();
}//else if(parent.parent.fokus == "Buchstabe")
}//function Klick1()
function Klick2(){
if(parent.parent.fokus == "Fenster1"){
parent.Fenster1.focus();
}//if(parent.parent.fokus == "Fenster1")
else if(parent.parent.fokus == "Maske"){
self.focus();
}//else if(parent.parent.fokus == "Maske")
else if(parent.parent.fokus == "Buchstabe"){
parent.Buchstabe.focus();
}//else if(parent.parent.fokus == "Buchstabe")
}//function Klick2()
function Klick3(){
if(parent.parent.fokus == "Fenster1"){
parent.Fenster1.focus();
}//if(parent.parent.fokus == "Fenster1")
else if(parent.parent.fokus == "Maske"){
parent.Maske.focus();
}//else if(parent.parent.fokus == "Maske")
else if(parent.parent.fokus == "Buchstabe"){
self.focus();
}//else if(parent.parent.fokus == "Buchstabe")
}//function Klick3()
Die Datei klick.js verhindert, daß man durch Mausklick oder Tabulator-Taste den Focus auf einen Frame verlegt wird, der gerade nicht auf Tastatureingaben wartet.
Buchstabe1.php zeigt die verfügbaren Zeichen an. Durch einen ersten Tastendruck entscheidet man sich für eine Fünfer-Zeichengruppe (z. B. 1: A, B, C, D, E). Drückt man dann z. B. nochmals die 1 wird ein A in ein Textfeld im Frame Maske eingefügt. Diesen Vorgang steuert eine Javascript-Funktion im Frame Maske. Die Datei Buchstabe1.php dient nur dazu, dem User anzuzeigen, welcher Tastendruck was bewirkt. Dadurch, daß die Steuerung und die Anzeige der verfügbaren Zeichen in zwei verschiedenen Frames abläuft, muß der (schon geübte) User nicht auf die Anzeige warten sondern kann schneller eingeben.