Probleme mit Javascript "include"
JS-Ajax-N00b
- javascript
Hallo,
erstmal die Ausgangsstellung. Ich habe folgendes Script:
function ajax(to,url,request,params) {
var xmlhttp;
request = "request=" + request;
if(typeof(params) == "undefined")
{
params = request;
}
else
{
params = request + "&" + params;
}
if(window.XMLHttpRequest)
{
// Code für IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else if(window.ActiveXObject)
{
// Code für IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
else
{
alert("Sorry, but your browser does not support XMLHTTP! Please update your browser now.");
}
xmlhttp.onreadystatechange=function() {
if(xmlhttp.readyState==4)
{
document.getElementById(to).innerHTML = xmlhttp.responseText;
}
}
xmlhttp.open('GET',url+"?"+params, true);
xmlhttp.send(null);
}
Dieses Script ist sozusagen ein Menüscript. Wenn ich bei "to" etwas eingebe, kann ich ein div ansprechen und "url" sagt welche Datei dann included werden soll.
Wie z.B <div id="to">url</div> und der link sieht so aus: <a href="javascript:ajax('Inhalt','./hilfe.php');"> [<div id="Inhalt">hilfe.php Datei Texte/Scripte</div>]
Jetzt kann ich in der hilfe.php in oder außerhalb des phps selbst onmouseover, onmouseout etc. als Befehl verwenden:
<a (...) onmouseover='alert("TEXT TEXT ALERT")'><b>Administration</b></a>
Allerdings bin ich nicht in der Lage sowas zu nutzen:
<script type='text/javascript'>
document.write("GEHT NICHT");
</script>
(STEHT AUßERHALB DES PHP CODES -> <script>(...)</script> <?php echo""; ?>
Es liegt nicht an diesem Script, da es wenn ich das nicht mit dem Menue mache auf einer eigenen Seite funktioniert.
Wie muss ich vorgehen, dass es funktioniert?
Wie muss ich vorgehen, dass es funktioniert?
Du musst jedes Skript, dass du so nachlädst mit eval ausführen. innerHTML führt kein JS aus. jQuery und Co. machen das.
Struppi.
Wie muss ich vorgehen, dass es funktioniert?
Du musst jedes Skript, dass du so nachlädst mit eval ausführen. innerHTML führt kein JS aus. jQuery und Co. machen das.
Struppi.
Mich würde das auch interessieren, finde ich irgendwo eine Anleitung?
Mich würde das auch interessieren, finde ich irgendwo eine Anleitung?
hier (hängt ein JavaScript mit dem Namen test.js ans Ende des body-Elements
Was ausgeführt werden soll steht also in einer externen Datei, den Ort des Einfügens kannst du natürlich anpassen. document.write ist allerdings nicht zu empfehlen, zumindest Opera ersetzt dann die komplette Seite.
var script=document.createElement("script");
script.type="text/javascript";
script.src="test.js";
document.body.appendChild(script);