Variablenübergabe von JS nach PHP

Seven Secrets

Erfahrenes Mitglied
Hallo,

ich weiß nicht ganz ob es hier richtig ist, aber ich versuche es einfach mal. Also ein Kunde von mir will, sein Wille ist sein Himmelreich, das die Browsergröße ermittelt wird und seine seite dann entsprechend angepasst wird. Den Part mit der Browsergröße habe ich gefunden, nur weiß ich nicht, wie ich von Javascript eine Variable an eine PHP-Seite übergeben bekomme.

so sieht das JS-Script aus:

HTML:
<html><head>
<title>...</title>
<script type="text/javascript">
function Fensterweite () {
  if (window.innerWidth) {
    return window.innerWidth;
  } else if (document.body && document.body.offsetWidth) {
    return document.body.offsetWidth;
  } else {
    return 0;
  }
}

function Fensterhoehe () {
  if (window.innerHeight) {
    return window.innerHeight;
  } else if (document.body && document.body.offsetHeight) {
    return document.body.offsetHeight;
  } else {
    return 0;
  }
}

function neuAufbau () {
  if (Weite != Fensterweite() || Hoehe != Fensterhoehe())
    location.href = location.href;
}

/* Überwachung von Netscape initialisieren */
if (!window.Weite && window.innerWidth) {
  window.onresize = neuAufbau;
  Weite = Fensterweite();
  Hoehe = Fensterhoehe();
}
</script>
</head>
<body>
<script type="text/javascript">
/* Überwachung von Internet Explorer initialisieren */
if (!window.Weite && document.body && document.body.offsetWidth) {
  window.onresize = neuAufbau;
  Weite = Fensterweite();
  Hoehe = Fensterhoehe();
}
</script>

<script type="text/javascript">
document.write("Weite: " + Weite + " Höhe: " + Hoehe);
</script>

</body></html>

Wobei dieser Teil die Ausgabe darstellt:

HTML:
<script type="text/javascript">
document.write("Weite: " + Weite + " Höhe: " + Hoehe);
</script>

Mein Ziel ist es die Größe in Varibalen beim nächsten Aufruf zu übergeben. Also mit: naechstedatei.php?weite=Weite&hoehe=Höhe - Wie muß ich das mit dem JS-Varibalen bewerkstelligen?
 
Vielleicht mittels AJAX? Ansonsten könntest du ja an alle Links im Dokument mit einer Schleife die Variablen anhängen?
Also vom Prinzip so:
Javascript:
var links = document.getElementsByName("a");
foreach(i=0;i<document.getElementsByName("a");i++)
{
   links[i].href = links[i].href + '?weite' + weite + '&hoehe=' + hoehe;
}

Also bin jetzt kein JS pro, aber ich glaube, dass der Code so funtioniert... Wenn nicht, dann wird dir hoffendlich wenigstens das Prinzip klar :)
 
Zuletzt bearbeitet:
Okay, das prinzip ist schon klar geworden, aber denkst du nicht, das es etwas zu kompliziert ist? Ich habe selber nochmal nachgeforscht und bin auf folgende Funktion gestoßen:

PHP:
<script type="text/javascript">
  window.location.href='http://www.example.com/';
</script>

Und ind ie hätte ich das Höhe und Weitegerne entsprechend übergeben.
 
Achso, wenn du die Page gleich reloaden willst, dann ist diese Variante natuerlich die bessere Wahl...
 
Ja aber du hast doch schon alles...!
PHP:
<html><head>
<title>...</title>
<script type="text/javascript">
function Fensterweite () {
  if (window.innerWidth) {
    return window.innerWidth;
  } else if (document.body && document.body.offsetWidth) {
    return document.body.offsetWidth;
  } else {
    return 0;
  }
}

function Fensterhoehe () {
  if (window.innerHeight) {
    return window.innerHeight;
  } else if (document.body && document.body.offsetHeight) {
    return document.body.offsetHeight;
  } else {
    return 0;
  }
}

function neuAufbau () {
  if (Weite != Fensterweite() || Hoehe != Fensterhoehe())
    location.href = location.href;
}

/* Überwachung von Netscape initialisieren */
if (!window.Weite && window.innerWidth) {
  window.onresize = neuAufbau;
  Weite = Fensterweite();
  Hoehe = Fensterhoehe();
}
</script>
</head>
<body>
<script type="text/javascript">
/* Überwachung von Internet Explorer initialisieren */
if (!window.Weite && document.body && document.body.offsetWidth) {
  window.onresize = neuAufbau;
  Weite = Fensterweite();
  Hoehe = Fensterhoehe();
}
</script>
<?php
if(isset($_GET['breite']) && isset($_GET['hoehe']))
{
	echo $_GET['breite'] . 'px x ' . $_GET['hoehe'] . 'px';	
}
else{
?>
<script type="text/javascript">
window.location.href = window.location.href + '?breite=' + Weite + '&hoehe=' + Hoehe;
</script>
<?php
}
?>
</body></html>
 
Zurück