Привет! Объясните ламаку, как в jQuery.ajax("some_honst://page.php") устроили, что выполняется javascript, который содержится в странице ответа. Например если в полученном ответе был код [js]<script> alert(1); </script> [/js] то в момент, когда браузер получит ответ, на экране появится окно "1". Не могу понять, как это. Спасибо!
eval чего? eval() всего ответа не привел ни к какому результату. Может там разбор кода, который выделяет все содержимое всех тэгов <script> и для них по очереди делает eval()? в каких?
Там создаётся фрейм и в него ответ загружается, на сколько я помню. Во всяком случае если у тебя есть фрейм и ты в него загрузишь (с помощью js или просто формы) код типа HTML: <script> alert(1); </script> , то он сработает.
ну там разная байда. смысла нет все приводить, все равно не понятно будет. хотя бы на примере разобраться. [js]<script> alert(1); </script>[/js] так-то да, но не похоже что так, потому что это не будет работать как надо. К примеру, такой код в ответе не создаст в окне переменную, а создаст ее во временном фрейме. Неужели от так бажно и работает?! [js]<script> window.x= 1 </script>[/js]
То есть в iframe загружаем что-то вроде этого: HTML: <script language="JavaScript" type="text/javascript"> window.parent.functionName(); </script>