Hallo,
Und zwar lade ich mit Ajax eine Datei nach, in der verschiedenartige
Arrays in JS definiert sind.
Wenn du einfach nur eine XMLHttpRequest-Anfrage sendest und der Server dies hier zurückgibt:
<SCRIPT type="text/javascript">
var tabList_xxx = new Array ('customer','general','material');
</SCRIPT>
... dann wird dieser Code noch längst nicht automatisch ausgeführt.
Wenn du JavaScript nachladen willst, dann hänge am besten ein neues script-Element in den Head des gegenwärtigen HTML-Dokuments ein.
Die dann vom Server ausgelieferte JavaScript-Datei sollte nur reinen JavaScript-Code, keinen HTML-Code wie <script>...</script> enthalten.
Bei PHP solltest du auch den passenden Content-Type-Header senden, sonst sendet PHP text/html, was unsinnig für JavaScript-Code ist:
header('Content-Type: application/x-javascript');
Im Hauptprogramm habe ich dann eine JS Funktion die ungefähr so aussieht.
function activateTabulator(tabulatorName)
{
eval('tabulatorList=tabList_' + tabulatorName);
eval ist hier unnötig und langsam, besser:
tabulatorList = window["tabList_" + tabulatorName];
Aber Voraussetzung ist natürlich, dass der nachgeladene Code auch ausgeführt wurde.
Mathias