IE iframe и текст в кодировке Unicode - PullRequest
0 голосов
/ 06 июня 2011

У меня проблемы с 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.

1 Ответ

0 голосов
/ 07 июня 2011

Какой тип MIME ваш сервер отправляет на этот ответ?Какой CHARSET указывает HTTP-заголовок Content-Type?

Если вы отправите текст / html вместо text / plain, я уверен, что это работает без ошибок.

...