#javascript #jquery #html #internet-explorer
#javascript #jquery #HTML #internet-explorer
Вопрос:
Приведенный ниже код не выполняется в IE7 / 8. Я исследовал онлайн, .innerhtml
не будет работать в браузере IE 7/8. Мне действительно нужен этот код для запуска в этих браузерах.
$(document).ready(function(){
var hashes = window.location.href.slice(window.location.href.indexOf('?') 1);
$.ajax({
type: "GET",
url: "/get_header",
data: hashes,
success: function(data) {
if (!$.support.leadingWhitespace) {
alert('j');
document.getElementById('logo-bar').innerHTML = data;
} else {
$('#logo-bar').html(data);
}
},
error: function(data) {}
});
Комментарии:
1. ДА. Я хочу, чтобы мой код отображал баннер с логотипом (#logi-bar) при загрузке страницы. баннер с логотипом отлично работает в ff и Chrome, но в IE 7 и 8 он не загружается. Веб-сайт находится styletag.com в IE всплывающее окно не отображается.
2. при создании console.log (data) отображается код всплывающего баннера, но он не отображает всплывающий код в IE 7/8
Ответ №1:
Вы используете jQuery для запроса AJAX, поэтому вы также можете использовать его и для обновления DOM. Если вас беспокоит начальный пробел в тексте ответа, вы можете использовать $.trim()
для его удаления:
success: function(data) {
$('#logo-bar').html($.trim(data));
},
Комментарии:
1. Я не уверен, почему за это проголосовали — поскольку нет причин, по которым это решило бы проблему OP — приведенный здесь код не будет работать там, где не будет OP
document.getElementById(..).innerHTML =
.2. @BenjaminGruenbaum Код OPs может не работать, поскольку IE все еще имеет проблемы с innerHTML. Смотрите здесь для получения дополнительной информации: quirksmode.org/dom/w3c_html.html . jQuery содержит обходные пути для решения этих проблем.
3. @RoryMcCrossan: Спасибо. Приведенный выше код используется для запуска всплывающего баннера для сайта. Но $(‘#logo-bar’).html(data); работает в ff и Chrome, в IE он скрывает основную панель навигации и всплывающее окно не отображается. Поэтому используется (!$.support.leadingWhitespace) для запуска кода только для IE
4. Каково содержимое
data
? Это должно работать и в IE.5. содержимое — это страница, относящаяся к всплывающему изображению. Я говорю об этом сайте styletag.com