Вставка скрипта через innerHTML
Приветствую!
Появилась задача передать скрипт через innerhtml. Делаю так
var abc = '<script>alert(22)</script>';
document.getElementById('someblock').innerHTML = abc;
скрипт передается но не работает.. На форуме есть подобные темы но никто так и не дал подходящего ответа. Кто знает как это можно сделать? |
Никак. Скрипты при вставке через innerHTML не исполняются. Это заложено в парсер браузера и это никак не изменить. Зато можно использовать обходные варианты.
|
Цитата:
<div id="container"></div>
<script type="text/javascript">
var data="<div class='blocked'><script type='text/javascript'>alert(4);<\/script></div>";
document.getElementById("container").innerHTML = data;
var elements = document.getElementById("conteiner").getElementsByTagName("script");
for (var i=0,len=elements.length;i<len;i++) {
eval.call(window,elements[i].innerHTML);
}
</script>
|
<body>
<script>
var script = document.createElement("script");
script.text = "alert('Yes');";
document.body.appendChild(script);
</script>
</body>
|
| Часовой пояс GMT +3, время: 15:14. |