2010-11-24 2 views
1

Я проектирую веб-сайт, который будет полагаться на iFrames, чтобы показать контент сторонних разработчиков. Учитывая это, у меня есть две проблемы.iFrames and encodings

  1. Этот контент стороннего производителя может иметь разные кодировки.
  2. Почти никто не определяет кодировку html-файла.

Хорошо, в этом случае браузер будет пытаться infeer кодировки, но в моих тестах показывает, что won't infeer кодирования каждого фрейма sepparatly и, следовательно, некоторые IFrame будут иметь подмигнуло содержание перепуталось.

Для воспроизведения создаются следующие файлы:

index.html (закодированный UTF-8)

<html> 
    <iframe src="utf.html"> </iframe> 
    ááá 
    <br /> 
    <iframe src="iso.html"> </iframe> 
</html> 

utf.html (закодированный UTF-8)

<html> 
    ááááéééé 
</html> 

iso.html (кодированный ISO-8859-1)

<html> 
    ááééíí 
</html> 

Вправо. Если вы увидите, что результаты не будут идеальными.

Если я правильно добавлю информацию о кодировке в метатег, это сработает.

Помните, я не могу изменить контент третьих лиц. Итак, длинный рассказ короче, вопрос в том. В моем примере, есть ли способ показать, что все символы правильно редактируют только index.html?

Спасибо

+0

наиболее вероятно, вам нужно проанализировать содержимое на любом серверном языке для этого. – yoda 2010-11-24 19:45:54

ответ

2

Существует не способ сделать это стороне клиента. Браузер заблокирует это из-за политики безопасности междоменного доступа. Вам необходимо проксировать страницы через ваш сервер и модифицировать вывод.

+0

Или, наоборот, просто поместите кодировку в HTTP-заголовок ответа вместо изменения содержимого. – 2010-11-24 23:04:27