reURL = document.getElementById("reURL").firstChild.data;
Der IE, zumal wenn du sämtliche neueren per X-UA-Compatible in den IE-7-Modus schickst, legt automatisch globale Variablen an, wenn du einem Element eine ID gibst.
Das heißt, es gibt window.reURL schon, diese Eigenschaft verweist auf dasselbe Element wie document.getElementById("reURL").
Diese globale Variable kannst du nicht überschreiben. Es gibt einen Fehler, wenn du das versuchst.
Lektionen daraus:
1. Nie eine globale Variable anlegen, die wie eine ID eines Elements heißt.
2. Ferner: Am besten nie irgendwelche globale Variablen anlegen. Am besten alles wegkapseln und nur sehr kontrolliert globale Objekte erzeugen.
Besser wäre es mit einer sofort ausführenden Funktion (in Nerdkreisen auch immediately-invoked function expression - IIFE - genannt). Darin kannst du lokale Variablen anlegen, ohne dass der globale Namensraum in Mitleidenschaft gezogen wird:
<script type="text/javascript">
[code lang=javascript](function () {
var el = document.getElementById('reURL');
var url = '/';
if (el && el.firstChild) {
url = el.firstChild.data;
}
window.location.href = url;
})();
</script>[/code]
window.location.href=("reURL");
Dir ist klar, dass diese Zeile nicht macht, was du willst?
Du willst vermutlich keinen String, sondern den Variablenwert zuweisen.
Allgemein frage ich mich, warum du die URL in ein verstecktes HTML-Element hineinschreibst, um es dann mit JavaScript auszulesen. Du kannst es auch direkt in eine JavaScript-Variable schreiben. In allen Fällen musst du natürlich darauf achten, dass du Daten aus der URL nicht ohne angemessenes Maskieren in den HTML- bzw. JavaScript-Code schreiben kannst.
Mathias