Gegenstück zu php include() in Javascript ?
lima-city → Forum → Die eigene Homepage → HTML, CSS & Javascript
arbeiten
atomkraft
ausgeben
auslese
auswahl
beispiel
bug
code
datei
dateiname
datum
erreichen
fehler
index
inhalt
interessieren
kapitel
start
url
variable kapitel
-
Hallo
ich habe eine Seite, deren Inhalte bisher mit php include() eingebunden werden.
je nach $_GET Anfrage wird die entsprechende Datei includiert
index.php?kapitel=top1_4 .... dann wird die Datei top1_4.htm als Inhalt includet
(enthält den HTML-Code mit dem Inhalt, ohne Head und ohne Menü, nur Content)
Jetzt will ich diese Seite für Webspace ohne PHP umbauen
bzw. so, dass man auf der Seite auch offline (auf PC) an die Inhalte kommt.
Wie mache ich es per Javascript, dass bei Klick auf index.html?kapitel=top1_4
die Datei top1_4.htm im entsprechenden Content-Bereich ausgegeben wird ?
bisher als PHP:
<div id="content"> <?php if (!empty($_GET['kapitel'])) { $inhalt = $_GET['kapitel'].'.htm'; } else { $inhalt = 'start.htm'; } if (file_exists($inhalt)) { include($inhalt); } else { echo "<p>Fehler .... keine Daten zur Kapitel Auswahl.</p>'; } ?> </div>
ich suche jetzt diese Funktion als Javascript
also die GET Variable kapitel in Javascript verfügbar machen,
und Dateiname var inhalt = kapitel+'.htm'; im Content Div ausgeben
(wenn keine GET Variable übergeben, dann start.htm ausgeben)
also analog zum PHP wie oben, nur eben in JavaScript.
PS: nein, ich will nicht mit frames oder iframe arbeiten
hat jemand ein Beispiel? .... Danke!
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Beispiel:
<html> <head> <script type="text/javascript"> function loadfile() { var xmlhttp; if (window.XMLHttpRequest) { xmlhttp = new XMLHttpRequest(); } else { xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); } xmlhttp.onreadystatechange = function () { if (xmlhttp.readyState == 4 && xmlhttp.status == 200) { document.getElementById("myDiv").innerHTML = xmlhttp.responseText; } } xmlhttp.open("GET", file, true); xmlhttp.send(); } </script> </head> <body> <div id="myDiv"> </div> <button type="button" onclick="loadfile('datei.html')">Hier klicken</button> </body> </html>
Musst du dir natürlich an deine Bedürfnisse anpassen :)
Noch einfacher gehts mit jQuery. -
also die GET Variable kapitel in Javascript verfügbar machen
Dazu einfach mal folgendes Skript in die Seite einbauen:
<SCRIPT type="text/javascript"> <!-- HTTP_GET_VARS=new Array(); strGET=document.location.search.substr(1,document.location.search.length); if(strGET!='') { gArr=strGET.split('&'); for(i=0;i<gArr.length;++i) { v='';vArr=gArr[i].split('='); if(vArr.length>1){v=vArr[1];} HTTP_GET_VARS[unescape(vArr[0])]=unescape(v); } } function GET(v) { if(!HTTP_GET_VARS[v]){return 'undefined';} return HTTP_GET_VARS[v]; } // --> </SCRIPT>
Dann müsstest du es per
var kapitel=GET('kapitel');
erreichen können.
Beitrag zuletzt geändert: 17.1.2012 15:08:00 von anti-atomkraft -
spdata schrieb:
Mal angenommen du hättest eine Seite die mich interessieren würde. Womöglich hast du noch den Poisonous-Null-Byte-Bug in PHP und schon kann ich auslesen was mich gerade interessiert.
<div id="content"> <?php if (!empty($_GET['kapitel'])) { $inhalt = $_GET['kapitel'].'.htm'; } else { $inhalt = 'start.htm'; } if (file_exists($inhalt)) { include($inhalt); } else { echo "<p>Fehler .... keine Daten zur Kapitel Auswahl.</p>'; } ?> </div>
Sag mir bitte wo du die Seite hostest -
anti-atomkraft schrieb:
also die GET Variable kapitel in Javascript verfügbar machen
Dazu einfach mal folgendes Skript in die Seite einbauen:
<SCRIPT type="text/javascript"> <!-- HTTP_GET_VARS=new Array(); strGET=document.location.search.substr(1,document.location.search.length); if(strGET!='') { gArr=strGET.split('&'); for(i=0;i<gArr.length;++i) { v='';vArr=gArr[i].split('='); if(vArr.length>1){v=vArr[1];} HTTP_GET_VARS[unescape(vArr[0])]=unescape(v); } } function GET(v) { if(!HTTP_GET_VARS[v]){return 'undefined';} return HTTP_GET_VARS[v]; } // --> </SCRIPT>
Dann müsstest du es per
var kapitel=GET('kapitel');
erreichen können.
-----
function kapitel(){ var query = window.location.search.substring(1), vars = query.split("&"), i = 0; for (i; i < vars.length; i += 1) { var param = vars[i].split("="); if(param[0] == 'kapitel'){ return param[1]; } } return false; } alert(kapitel());
oder:
function GET(str){ var query = window.location.search.substring(1), vars = query.split("&"), i = 0; for (i; i < vars.length; i += 1) { var param = vars[i].split("="); if(param[0] == str){ return param[1]; } } return false; } alert(GET('kapitel'));
Beitrag zuletzt geändert: 17.1.2012 18:59:21 von fabo -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage