В javascript / jscript.Мы можем использовать document.write("<script...")
для загрузки фрагмента html в документ.Но когда есть другой document.write внутри фрагмента HTML.Некоторые браузеры выполняют рекурсивную загрузку сценариев, но некоторые нет (IE).
Вот пример.Document.write внедряет в документ один внешний скрипт (js1.js) и встроенный скрипт.Встроенный скрипт вызовет переменную, определенную в js1.js.Это требует, чтобы браузер загружал js1.js до выполнения встроенного скрипта.В гекконах и сафари на основе brwoser.Оно работает.Но в браузере IE это отстой.
test.html
<!DOCTYPE HTML>
<html>
<head><title></title></head>
<body>
<textarea id="tagContent" style="width:600px;height:400px;">
<script type="text/javascript">
document.write(unescape("%3Cscript src='js1.js' type='text/javascript'%3E%3C/script%3E"));
</script>
<script type="text/javascript">
alert(xx);
</script>
</textarea>
<script type="text/javascript">
document.write(document.getElementById("tagContent").value);
</script>
</body>
</html>
js1.js
window.xx = "ssss";
Я хочу найти способ сделать инъекцию в IE.Любая идея приветствуется.Спасибо!