#javascript #html #internet-explorer
#javascript #HTML #internet-explorer
Вопрос:
Я нахожусь на сайте https и получаю всплывающее сообщение о безопасности: «У вас смешанный контент, незащищенные элементы на защищенной странице». Похоже, что удаление встроенного стиля: background-image:url('../images/img.png')
устраняет проблему. Кто-нибудь знает почему?
<div style="background-image:url('../images/img.png')" />
В Internet Explorer мне интересно, использует ли ‘background-image: url’ другой механизм загрузки.
Это IE7-8.
Вот связанная ошибка от Microsoft, но я все еще не могу найти более подробной информации о том, что не так с IE. Ссылка:http://support.microsoft.com/kb/925014
Комментарии:
1. Странно. Можете ли вы показать код CSS (или разметку элемента), о котором идет речь?
2. Отсутствует CSS. Это атрибут стиля. Я думаю, что это ошибка IE.
3. Есть ли шанс увидеть живой пример?
Ответ №1:
Мне кажется, что, хотя вы используете HTTPS для просмотра страницы, IE пытается загрузить изображение, на которое ссылается CSS, через HTTP-соединение, независимо от того, что на самом деле использует страница (отсюда смешивание безопасного и небезопасного содержимого).
Попробуйте изменить ссылку в CSS на абсолютную ссылку, используя HTTPS:
background-image:url('https://site.com/images/img.png');
Комментарии:
1. Это правильный ответ; проблема была исправлена в IE9. Смотрите комментарии здесь: blogs.msdn.com/b/ieinternals/archive/2009/06/22 /… для обсуждения.
2. Мне понравился комментарий, выбрав это в качестве ответа.
Ответ №2:
Это потому, что фоновое изображение поступает из HTTP-запроса, а не HTTPS, поэтому оно называется смешанным содержимым.
Чтобы быстро решить эту проблему, просто переместите фоновое изображение внутри веб-сервера расположения HTTPS
background-image:url('https://yourdomain../images/img.png')
Комментарии:
1. Нет, это ошибка IE. Изображение запрашивается как https.
Ответ №3:
У меня была такая же проблема совсем недавно. Я решил это, переключив свой синтаксис с этого:
body{
background:#600 url('webpage_back.png') fixed no-repeat top center;
}
к этому:
body{
background:#600 url('webpage_back.png') no-repeat fixed center top;
}
Надеюсь, это поможет!
Комментарии:
1. Да, я публикую ошибку IE.