Jest sobie w pewnym pliku jakiś div, powiedzmy o id_diva "dupa". Gdzieś tam pełznie sobie też standardowa funkcja ajaxowa w postaci:
function replace2(kategoria, id_diva) { http = getXMLHttpRequest(); http.open("GET", "blabla.html", true); http.onreadystatechange=function() { if( (http.readyState == 4)&& (http.status == 200) ) { document.getElementById(id_diva).innerHTML = http.responseText; } } http.send(null); } function getXMLHttpRequest() { var request = false; try { request = new XMLHttpRequest(); } catch(err1) { try { request = new ActiveXObject('Msxml2.XMLHTTP'); } catch(err2) { request = new ActiveXObject('Microsoft.XMLHTTP'); } catch(err3) { request = false; } } } return request; }
Problem polega na tym, że po zastwowaniu funkcji "replace2" dowolny fragment kodu znajdujący się pomiędzy <script type="text/javascript"> a </script> w pliku blabla.html jest olewany przez jakąkolwiek przeglądarkę. Zaznaczam, że jeśli odpali się plik blabla.html bezpośredio, wszystkie linijki dżawaskriptu są posłusznie przetwarzane. Pytanie moje jest więc zasadnicze, WTF z tym ajaxem, że wyswietla sie wszystko, oprócz tego o czym wspomniałem. Rzućcie się proszę jakimś kodem, który zastąpi mi treść "dupy" pełną zawartością pliku blabla.html