Hallo,
<HTML-Code>##<javascript-code>##<html-code>
Das werte ich nun in javaascript aus und lasse nur über den javascriptcode (also alles zwischen den ## eval() laufen.
Wenn du mit PHP eine JavaScript-Ressource erzeugen willst, dann bindest du das Script einfach über <script type="text/javascript" src="Script-URI"></script> ein und sendest im Script die richtigen Header:
[code lang=php]<?php
header('Content-Type: application/x-javascript');
?>
deletenewsbox = function(NID) {
params = giveLoginParams();
params += "&NID="+ NID;
intLoadsite1('intern/admin/newsbox/deleteentry.php',
'updatenewsboxdiv'+ NID, params);
};[/code]
XMLHttpRequest und eval() brauchst du da gar nicht.
Wobei dieses Beispiel natürlich Unsinn ist, weil das PHP-Script überhaupt nichts generiert und das eingebundene JavaScript völlig statisch ist. Man könnte es also genauso gut auch als einfache .js-Datei auf den Server legen, das kommt auf dasselbe heraus.
Das funktioniert im Firefox auch wunderbar.
Im IE funktioniert das genau einmal! Beim zweiten laden, wird der HTML Code der mitgeschickt wird nicht mehr angezeigt.
Was heißt angezeigt? Welcher HTML-Code wird wie »mitgeschickt« und wie sollte er denn angezeigt werden?
Habe versucht das zu umgehen, in dem ich sicherstelle, dass die Funktionen nur einmal an das eval geschickt werden.
Aber der IE speichert sie anscheinend dauerhaft im Browserverlauf ab und der Fehler tritt wieder auf! Zumindest genau einmal! Beim ersten laden!
Welcher Fehler tritt auf?
Beim zweiten kann ich ja dann wieder ermitteln, dass die Funktionen schon geladen wurden!
Wenn ein Dokument neu geladen wird, werden alle im Fenster definierten Variablen gelöscht; da speichert ein Browser nichts.
Ich würde die Javascript Funktionen auch nicht so umständlich nachladen. Aber ich will gewählreisetet haben, dass man nicht irgendwie den javascript Quellcode dieser Funktionen sehen kann!
Mit dieser Methode machst du es nur dir schwer, aber nicht demjenigen, der deinen Quellcode sehen will.
Gibt es da evtl eine leichtere Möglichkeit???
Dann könnte man das Problem ja leichter umgehen???
Womöglich, was hast du denn vor? Was macht die ultrageheime Funktion denn? Soll die URI des Löschscriptes deleteentry.php geheim bleiben? Willst du das Script irgendwie absichern? Gegen was?
Mathias