У меня проблемы с iframe в IE. Я пытаюсь создать iframe динамически и назначить его атрибут src соответствующему файлу в соответствии с выбором пользователя. Я создал простую HTML-страницу со встроенным JavaScript, которая воспроизводит проблему.
<html>
<head>
<script type="text/javascript">
function createIFrame(){
var iframe = document.createElement('iframe');
document.body.appendChild(iframe);
iframe.id = "myframe";
}
function loadFile(fileName){
var frame = document.getElementById("myframe");
frame.src = fileName;
}
</script>
</head>
<body>
<input type="button" value="create iframe" onclick="createIFrame()" />
<input type="button" value="load ansi" onclick="loadFile('ansi.txt')" />
<input type="button" value="load unicode" onclick="loadFile('unic.txt')" />
<hr/>
<iframe id="workingFrame" src="unic.txt"></iframe>
</body>
</html>
ansi.txt - текстовый файл, сохраненный в кодировке ANSI, unic.txt - текстовый файл Unicode.
Нажатие кнопки создания iframe добавляется в DOM. Если нажата кнопка «загрузить анси», содержимое файла загружается в iframe без каких-либо проблем, но кнопка «загрузить юникод» вызывает проблему - iframe остается пустым.
Но если атрибут src определен изначально, как в случае 'workingFrame' - файл Юникода загружается правильно. Эта проблема возникает в IE 8, IE 9 предлагает загрузить файл вместо его рендеринга. Мне нужно, чтобы содержимое файла отображалось внутри iframe.