Вставка скрипта через 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, время: 11:49. |