hmmm jeżeli dobrze myśle to to bylo juz kilka razy pisane (w czym raz ja zadawalem to pytanie :-) )
data = obj.responseText.split('\n');
arraylen = data.length;
var i = 0;
while(i < arraylen)
{
if( data[i].indexOf("script") > -1)
{
i++;
while(data[i].indexOf("/script") < 0)
{
eval(data[i]);
i++;
}
}
i++;
}
W tym działa ładnie pod IE i Operą tylko ostrzegam od razu, że potem jest problem z <table> i wywala błąd jeżeli masz to w responseText.
Druga metoda:
var data=obj.responseText;
var ScriptFragment = '(?:<script.*?>)((\n|.)*?)(?:<\/script>)';
var match = new RegExp(ScriptFragment, 'img');
var response = data.replace(match, ''); //w response masz calosc bez skryptów JS
var scripts = data.match(match); //w scripts masz same skrypty JS
match = new RegExp(ScriptFragment, 'im');
for (var i = 0; i < scripts.length; i++)
eval(scripts[i].match(match)[1]);
}
Lepsza od tej pierwszej ale mi pod Operą nie działa niestety ( nie wiem czemu bo innym działa)
Wypróbuj sobie i zobacz co lepsze :-)
Pozdrawiam,
Alk