Может ли HTML быть загружен в виде простого текста с ActiveX?Я знаю только ActiveXObject («Msxml2.XMLHTTP.6.0»), и он не работает.
Нет.Действительно, IE не поддерживает метод XMLHttpRequest уровня 2 * overrideMimeType
ни в одной версии на сегодняшний день, независимо от того, используется ли реализация native-JScript (IE7 +) или старой школы ActiveX.
overrideMimeType
действительноединственный способ получить XMLHttpRequest для получения текстового содержимого в другом наборе символов, отличном от того, который помечен как (UTF-8, если не указан набор символов заголовка Content-Type
. Набор символов <meta>
не используется, потому что только анализатор HTMLпрочитал бы это, и XMLHttpRequest
не является анализатором HTML).Невозможно получить необработанный двоичный файл, используя XMLHttpRequest
.
[метод iframe] без выполнения содержащегося в нем javascript
Ну, вроде.Есть специфичный для IE6 + и обычно довольно сомнительный атрибут security , который изменяет зону дочернего документа.Это обычно имеет эффект выключения JavaScript, помимо других побочных эффектов, но именно то, что происходит, зависит от настроек зоны ограниченных сайтов IE пользователя, поэтому это не очень надежно.
var frame = $('<iframe security="restricted"/>').css('display', 'none').attr('src', url);
(и да, вам нужно поместить его в разметку, а не устанавливать его с помощью свойства DOM с помощью attr
или ярлыков создания атрибута jQuery 1.4, которые обычно предпочтительнее.)
Я бы использовал этотолько в крайнем случае.Я думаю, это вызовет кучу проблем.
У меня нет прав на изменение конфигурации Apache для принудительной установки кодировки ISO-8859-1.
Ну, это отстой.Вы уполномочены изменить целевую страницу, чтобы она была UTF-8?Наборы символов, отличные от UTF-8, соответствуют прошлому веку!
if ($ .browser.msie && $ .browser.version.substr (0,1) <7) </p>
Не используйте перехват браузера.Возможность, которую вы хотите отнюхать, - overrideMimeType
, поэтому проверьте это:
if ('XMLHttpRequest' in window && 'overrideMimeType' in new XMLHttpRequest()) {
// xmlhttp branch
} else if {
// nasty iframe branch
}