Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > HTML и CSS
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 20.04.2011, 18:55   #1
chandrasecar
Форумчанин
 
Аватар для chandrasecar
 
Регистрация: 03.10.2008
Сообщений: 180
По умолчанию В IE не работает загрузка CSS в зависимости от разрешения экрана

На сайте фон меняется в зависимости от разрешения экрана. Фон описывается через CSS файл, и подгружается через JavaScript в шаблоне сайта:
Код:
<script>
	if (screen.width == 3200)
	document.write('<link href="/templates/GoldFlowers/css/3200.css" rel="stylesheet" type="text/css">');
	if (screen.width == 2560)
	document.write('<link href="/templates/GoldFlowers/css/2560.css" rel="stylesheet" type="text/css">');
	if (screen.width == 2048)
	document.write('<link href="/templates/GoldFlowers/css/2048.css" rel="stylesheet" type="text/css">');
	if (screen.width == 1920)
	document.write('<link href="/templates/GoldFlowers/css/1920.css" rel="stylesheet" type="text/css">');
	if (screen.width == 1680)
	document.write('<link href="/templates/GoldFlowers/css/1680.css" rel="stylesheet" type="text/css">');
	if (screen.width == 1600)
	document.write('<link href="/templates/GoldFlowers/css/1600.css" rel="stylesheet" type="text/css">');
	if (screen.width == 1540)
	document.write('<link href="/templates/GoldFlowers/css/1540.css" rel="stylesheet" type="text/css">');
	if (screen.width == 1440)
	document.write('<link href="/templates/GoldFlowers/css/1440.css" rel="stylesheet" type="text/css">');
	if (screen.width == 1400)
	document.write('<link href="/templates/GoldFlowers/css/1400.css" rel="stylesheet" type="text/css">');
	if (screen.width == 1280)
	document.write('<link href="/templates/GoldFlowers/css/1280.css" rel="stylesheet" type="text/css">');
	if (screen.width == 1152)
	document.write('<link href="/templates/GoldFlowers/css/1152.css" rel="stylesheet" type="text/css">');
	if (screen.width == 1024)
	document.write('<link href="/templates/GoldFlowers/css/1024.css" rel="stylesheet" type="text/css">');
	if (screen.width == 800)
	document.write('<link href="/templates/GoldFlowers/css/800.css" rel="stylesheet" type="text/css">');
	if (screen.width == 640)
	document.write('<link href="/templates/GoldFlowers/css/640.css" rel="stylesheet" type="text/css">');
</script>
так вот в IE - это единственный браузер - такое не работает, фон не грузит. В чем проблема?

Пример CSS который загружается через вышеописанный скрипт:

Код:
@charset "utf-8";
/* CSS Document */

body {
	background: url(../image/1024/fon1024.jpg);
	background-repeat: no-repeat;
	background-position: left top;
	background-attachment: fixed;
	
	font-family: Helvetica,Arial,sans-serif;
	margin: 0px 0px 0px 0px;
	font-size: 12px;
}
лучший подарок женщине-программисту
chandrasecar вне форума Ответить с цитированием
Старый 20.04.2011, 20:52   #2
Johnatan
Antimoderаtoris
Участник клуба
 
Регистрация: 08.02.2008
Сообщений: 1,251
По умолчанию

вместо всего этого сделайте вот так:
<script>
alert(screen.width);
</script>

И узнаете, почему IE не выводит бэкграунд. IE считает ширину по-другому, чем браузеры.
98% из тысячи моих постов сделаны в профильном подфоруме. Я не накручиваю свои посты болтанием в "курилке", а ты?
Johnatan вне форума Ответить с цитированием
Старый 20.04.2011, 22:45   #3
chandrasecar
Форумчанин
 
Аватар для chandrasecar
 
Регистрация: 03.10.2008
Сообщений: 180
По умолчанию

<script>
alert(screen.width);
</script>

Этот скрипт выводит текущую ширину экрана в пикселях. И как это мне поможет?
лучший подарок женщине-программисту
chandrasecar вне форума Ответить с цитированием
Старый 21.04.2011, 11:27   #4
dekameron
Форумчанин
 
Аватар для dekameron
 
Регистрация: 27.04.2010
Сообщений: 185
По умолчанию

Попробуйте указывать ширину диапазонами,

Код:
if (screen.width < 1540 && screen.width >= 1440)
	document.write('<link href="/templates/GoldFlowers/css/1440.css" rel="stylesheet" type="text/css">');
....
Помог - тырк на весы
dekameron вне форума Ответить с цитированием
Старый 21.04.2011, 13:24   #6
chandrasecar
Форумчанин
 
Аватар для chandrasecar
 
Регистрация: 03.10.2008
Сообщений: 180
По умолчанию

[QUOTE=div-looser;784687]Вам нужно изменить структуру. Попробуйте вписать джаваскрипт в Ваш html, не подгружая его с отдельного файла.

Так оно и сделано. На самом деле сделано все правильно. Видимо проблема в шаблоне - где ошибка из-зи которой IE не читает.
лучший подарок женщине-программисту

Последний раз редактировалось chandrasecar; 21.04.2011 в 13:46.
chandrasecar вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Изменить масштаб лица в зависимости от разрешения экрана Fox River Microsoft Office Excel 4 14.12.2010 10:06
Смена разрешения экрана boostman Общие вопросы Delphi 1 05.12.2009 21:47
Изменение разрешения экрана Alex Cones Мультимедиа в Delphi 2 16.04.2009 19:34
Определение разрешения экрана nemoomen Microsoft Office Excel 9 16.03.2009 22:49
Смена разрешения экрана san72 Помощь студентам 3 05.06.2008 12:38