Finde den Fehler nicht
Giovanni Rena
- javascript
0 David Tibbe0 Giovanni Rena0 Giovanni Rena0 mipu
Hallo,
hab gerade mit JS angefangen, möchte den Anzeigebereich auslesen und ausgeben, klappt aber irgendwie nicht. Ich finde den Fehler einfach nicht. Ich glaube er liegt in der Zeile Hoehe = window.innerHeight aber was ist daran falsch?
<html>
<head>
<script type="text/javascript">
<!--
function CallFunctions ()
{
GetHoehe ();
}
function GetHoehe ()
{
var Hoehe;
Hoehe = window.innerHeight;
document.write (Hoehe);
}
//-->
</script>
</head>
<body onLoad="CallFunctions()">
</body>
</html>
Gruß Giovanni und danke für die Hilfe!
Hallo Giovanni,
hab gerade mit JS angefangen, möchte den Anzeigebereich auslesen
solange du dann nicht meinst, die Seite "optimieren" zu müssen...
Naja, du hast http://de.selfhtml.org/javascript/objekte/window.htm#inner_width gesehen? Mag es sein, dass du den IE bei dir verwendest?
Ich glaube er liegt in der Zeile Hoehe = window.innerHeight
Hast du dir Hoehe einmal per alert() ausgeben lassen?
Grüße
David
Klar hab ichs gesehen,
hab nur vergessen "Beachten Sie" zu lesen! Wieso heißt die Eigenschaft im IE anders? Ist ja echt blöd. Bleibt das wenigstens auch so, oder wird das irgendwann - in nahrer Zukunft einheitlich gemacht?
Gruß Giovanni
Hallo,
hab hier noch ein Problem, bei dem ich nicht weiterkomme. Hier der Quelltext, es funktioniert eigentlich alles ganz gut, die JS-Funktionen und das HTML. Aber zusammen funktioniert das ganze irgendwie nicht:
<body onLoad="CallFunctions()"> // So geht das nicht
<body> // So geht alles
Also, je nachdem wie mein Body-Tag ist, funzt das oder nicht. Wieso ist das so?
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title> </title>
<link rel="stylesheet" href="style.css" />
<script src="Functions.js" type="text/javascript">
<!--
//-->
</script>
</head>
<body onLoad="CallFunctions()">
<table class="TopTable" cellspacing="0" cellpadding="0">
<tr>
<td class="Top"></td>
</tr>
</table>
<table class="CenterTable" cellspacing="0" cellpadding="0">
<tr>
<td class="Left"></td>
<td class="Middle"> </td>
<td class="Right"> </td>
</tr>
</table>
<div id="PicLogo1"></div>
<div id="PicLogo2"></div>
<div id="PicLogo3"></div>
<div id="TextURL"> </div>
<div id="TextLinks"> Impressum Kontakt </div>
</body>
</html>
Hallo,
hab hier noch ein Problem, bei dem ich nicht weiterkomme. Hier der Quelltext, es funktioniert eigentlich alles ganz gut, die JS-Funktionen und das HTML. Aber zusammen funktioniert das ganze irgendwie nicht:
<body onLoad="CallFunctions()"> // So geht das nicht
<body> // So geht alles
Also, je nachdem wie mein Body-Tag ist, funzt das oder nicht. Wieso ist das so?
Moin,
gibt es denn in deiner Datei Functions.js eine Funktion namens CallFunctions ?
cu mipu
Ja, die gibt es! Da funktioniert alles. Das merkwürde ist ja, "nur" diese Funktion wird aufgerufen, diese gibt dann zwei Werte aus und nur diese Werte erscheinen auf dem Bildschirm nicht die Tabelle. Das verstehe ich nicht. Ändere ich das body-tag um zu <body> ohne die CallFunctions -> dann wird die Tabelle ganz normal angezeigt. Sonst wird die Tabelle eben überhaupt nicht angezeigt, ich versteh das einfach nicht!
Hier ist noch der Quellcode für die CallFunctions, vielleicht braucht man diesen ja. Hoffe mir kann jemand helfen, ich komm nicht mehr weiter!
function CallFunctions ()
{
GetHoehe ();
GetBreite ()
}
function GetHoehe ()
{
var Hoehe;
Hoehe = document.body.offsetHeight;
if (Hoehe < 600)
{
Hoehe = 600;
}
document.write (Hoehe);
}
function GetBreite ()
{
var Breite;
Breite = document.body.offsetWidth;
if (Breite < 1000)
{
Breite = 1000;
}
document.write (Breite);
}
Ich wollte eigentlich so was machen, die Bildschirmauflösung mit JS auslesen und dann z. b. ner Tabelle die Werte zuweisen.
Geht das irgendwie?
Hallo Giovanni,
Ich wollte eigentlich so was machen, die Bildschirmauflösung mit JS auslesen und dann z. b. ner Tabelle die Werte zuweisen.
Geht das irgendwie?
Bei einer Tabelle geht das doch mit Prozentwerten. Nur einige Browser (Opera z.B.) haben da Probleme.
Das mit dem Auslesen der Werte ist schon aufgrund der unterschiedlichen Syntax der Browser sehr umständlich, aber im Prinzip geht das. Schau dir dazu doch einfach mal meine Studie an, die ich zu document.write() und innerHTML mal gemacht habe
http://home.arcor.de/gernotback/sau.html
Gruß Gernot
Hallo Giovanni,
das liegt daran, dass du mit document.write() dein Dokument überschreibst. Du soltest einmal versuchen, die Werte in ein DIV mit ID-Bezeichnung zu schreiben. Dann kannst du dort den innerText dieses DIVs von einer leeren Zeichenkette in die entsprechenden Werte umschreiben.
Wenn Du mit document.write() arbeitest, musst du den ganzen Tabellensermon auch wieder drumherumschreiben. Außerdem soltest du dann für andere Browser als MSIE ein document.open() davor und ein document.close() dahinter schreiben.
Gruß Gernot