Как поместить данные, полученные с помощью XMLHttpRequest, в iframe? - PullRequest
1 голос
/ 19 января 2012

Я пытаюсь продемонстрировать последствия ошибки XSS для клиента, и для этого мне нужно извлечь страницу, изменить некоторые html в ней с помощью простого поиска и замены, прежде чем, наконец, отобразить данные вIFrame.Я разобрался с первыми двумя частями, но я изо всех сил пытаюсь заставить работать iframe.

Вот что у меня так далеко:

<html>
<head>
<script type="text/javascript">
function getSource()
{
xmlhttp=new XMLHttpRequest();
xmlhttp.onreadystatechange=function()
  {
  if (xmlhttp.readyState==4 && xmlhttp.status==200)
    {
    var content=xmlhttp.responseText;
    document.write(content.replace(/MyString/gi, "StringtoReplace"));
    }
  }
xmlhttp.open("GET","indextest.html",true);
xmlhttp.send();
</script>
</head>
<body>
<body onload="getSource()">
</body>
</html>

Как тогда я мог бы положить этоIFrame?Я пытался поместить строку document.write в переменную и вызывал ее как iframe src, но пока безуспешно.Какие-либо предложения?Большое спасибо

1 Ответ

1 голос
/ 19 января 2012

Вместо записи с использованием document.write (), используйте это:

var iframe = document.getElementById("YOUR IFRAME ID HERE");
iframe.contentDocument.write("HTML TAGS AND OTHER STUFF HERE");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...