Javascriptelemente in PHP
Christian Düsing
- php
0 Schorsch0 Marc Reichelt0 martin43
Hallo,
ist es möglich, Javascriptelemente (also z.B. window.screen.width) innerhalb eines php-Bereichs auszulesen?
Ich habe eine Funktion (in php) in einem Javascriptblock. Innerhalb der Funktion möchte ich die Fensterweite auslesen. Bisher habe ich dies so gemacht:
screenbreite = window.screen.width
mit php müsste es ja so lauten:
$screenbreite = window.screen.width
später möchte ich dann .document.open () und .document.write()
geht das alles äquivalent in PHP oder muss ich da was beachtet?
Viele Grüße
Christian
Salut
geht das alles äquivalent in PHP oder muss ich da was beachtet?
Javascript ist auf dem Client unten.
PHP auf dem Server oben.
Das heisst, wenn Javascript etwas macht, hat PHP keine Ahnung davon.
Das Resultat des Javascripts (z.B. die Bildschirmbreite auslesen) müsste also wieder auf dem Server zu PHP geschickt werden.
Folglich:
1. Du schickst javascript-Code zum Client.
Dieser liest die Bildschirmbreite aus und
schickt diese zu deinem php Script (bbreite.php)
2. Nun hat bbreite.php die Bildschirmbreite und du kannst
dem Client die Seite schicken, in der du die Bildschirm-
breite mit PHP aktiv verwendest.
Gruss
Schorsch
Du schickst javascript-Code zum Client.
Dieser liest die Bildschirmbreite aus und
schickt diese zu deinem php Script (bbreite.php)Nun hat bbreite.php die Bildschirmbreite und du kannst
dem Client die Seite schicken, in der du die Bildschirm-
breite mit PHP aktiv verwendest.
Ich glaube so kompliziert wie du es verstanden hast will ich es garnicht. ich habe eine Javascriptfunktion, die ein popup öffnet. Da stehen diverse Javascriptelemente drin: document.open.... jetzt will ich die ganze Funktion in php schreiben, kann ich dann die Javascriptelemente in dem <?php...?>-Block einfach so lassen?
Gruß
Christian
Hi,
jetzt will ich die ganze Funktion in php schreiben, kann ich dann die Javascriptelemente in dem <?php...?>-Block einfach so lassen?
Beachte die notwendigen Maskierungen!
Bei folgender Schreibweise müssen nur die "" zu "\" maskiert werden:
$jsCode=<<<JavaScript
alert("Test"+'1');
JavaScript;
insertJS($jsCode);
function startJS() { echo "<script type="text/javascript" language="JavaScript"><!--\n"; }
function writeJS($jsCode) { echo $jsCode."\n"; }
function endJS() { echo "//--></script>\n"; }
function insertJS($jsCode) { startJS(); writeJS($jsCode); endJS(); }
Gruß, Cybaer
Hallo Christian,
ist es möglich, Javascriptelemente (also z.B. window.screen.width) innerhalb eines php-Bereichs auszulesen?
Klare Antwort: Nein.
Ich habe eine Funktion (in php) in einem Javascriptblock. Innerhalb der Funktion möchte ich die Fensterweite auslesen. Bisher habe ich dies so gemacht:
screenbreite = window.screen.width
mit php müsste es ja so lauten:
$screenbreite = window.screen.width
War es nicht vielleicht eher screen.width?
Du kannst nicht zwei unterschiedliche Sprachen mischen, vor allem nicht, wenn die eine (PHP) auf dem Server und die andere (JavaScript) auf dem Client ausgeführt wird.
später möchte ich dann .document.open () und .document.write()
geht das alles äquivalent in PHP oder muss ich da was beachtet?
Wie gesagt, es geht nicht. Eventuell geht ein Workaround mittels JavaScript, dass die Variablen an ein PHP-Skript übergibt - aber das ist ziemlich böse...
Bis dann!
Marc Reichelt || http://www.marcreichelt.de/
Klare Antwort: Nein.
ok danke,
dann lasse ich einfach die Funktion so wie sie ist *g*
Hallo Christian, natürlich geht das völlig unkompliziert:
<html><head><title>Test</title>
<?
echo "<script type="text/javascript">
<!--
fensterbreite = screen.width
if(screen.width >= 1024)
document.write (fensterbreite)
else
window.location.href = "datei_2.htm"
//-->
</script>";
?>
</head><body>
</body></html>
Beachte bitte die Backslash's vor den doppelten Anführungszeichen!!!
MfG martin