Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 15.08.2011, 22:56
Аспирант
Отправить личное сообщение для cyklop77 Посмотреть профиль Найти все сообщения от cyklop77
 
Регистрация: 02.09.2010
Сообщений: 31

screen.width в браузере opera
скажите пожалуйста чем можно заменить такой скрипт в браузере opera?

if (screen.width < '1024') 
{
alert(6);
document.write ('<link rel="stylesheet" type="text/css" href="css/alt_styles.css" />'); 
}


в других браузерах он работает.

и если не трудно поясните с чем это связано. как я понимаю в модели js для opera нет свойства width?
Ответить с цитированием
  #2 (permalink)  
Старый 15.08.2011, 23:38
Аватар для B@rmaley.e><e
⊞ Развернуть
Отправить личное сообщение для B@rmaley.e><e Посмотреть профиль Найти все сообщения от B@rmaley.e><e
 
Регистрация: 11.01.2010
Сообщений: 1,810

Неправильно понимаете.
alert( screen.width )


Сообщение от cyklop77
поясните с чем это связано
Что связано? Вы показали скрипт и сказали, что он не работает. А что он должен делать-то?
Ответить с цитированием
  #3 (permalink)  
Старый 16.08.2011, 00:00
Аспирант
Отправить личное сообщение для cyklop77 Посмотреть профиль Найти все сообщения от cyklop77
 
Регистрация: 02.09.2010
Сообщений: 31

B@rmaley.e><e , подключать определенный файл стилей в зависимости от разрешения экрана.
у меня появилось подозрение, что сам скрипт все таки рабочий, но document.write дописывает тэг <link> не между тэгами <head></head>/ поэтому опера глючит. возможно такое?
Ответить с цитированием
  #4 (permalink)  
Старый 16.08.2011, 00:03
Аватар для B@rmaley.e><e
⊞ Развернуть
Отправить личное сообщение для B@rmaley.e><e Посмотреть профиль Найти все сообщения от B@rmaley.e><e
 
Регистрация: 11.01.2010
Сообщений: 1,810

У Вас там даже alert есть, он-то куда девается? Если он срабатывает, проблема, очевидно, не в screen.width.
Ответить с цитированием
  #5 (permalink)  
Старый 16.08.2011, 00:13
Аспирант
Отправить личное сообщение для cyklop77 Посмотреть профиль Найти все сообщения от cyklop77
 
Регистрация: 02.09.2010
Сообщений: 31

извиняюсь за тупизм. еще раз.

есть скрипт
alert(0);
	if (screen.width < '1024') 
	{
		alert(6);
	   document.write ('<link rel="stylesheet" type="text/css" href="css/alt_styles.css" />'); 
	}
	else
	{
		document.write ('<link rel="stylesheet" type="text/css" href="css/basic_styles.css" />'); 
	}


разрешение моего монитора 1200 на сколько то.
скрипт срабатывает, результат - подключение файла стилей basic_styles.

если меняю разрешение на 800 x 600 , то скрипт не срабатывает и alert(6) не выводится(подключается опять basic_styles).

alert(0) выводится в любом случае.

во всех браузерах, кроме опера таких проблем нет, то есть скрипт работает корректно (подключает файлы стилей, соответствующие разрешению экрана)
Ответить с цитированием
  #6 (permalink)  
Старый 16.08.2011, 00:19
Аватар для B@rmaley.e><e
⊞ Развернуть
Отправить личное сообщение для B@rmaley.e><e Посмотреть профиль Найти все сообщения от B@rmaley.e><e
 
Регистрация: 11.01.2010
Сообщений: 1,810

Ну так замените alert(0) на alert(screen.width) (а ещё лучше — alert(JSON.stringify(screen))) и посмотрите, чему равно width в Опере.
Ответить с цитированием
  #7 (permalink)  
Старый 16.08.2011, 00:40
Аспирант
Отправить личное сообщение для cyklop77 Посмотреть профиль Найти все сообщения от cyklop77
 
Регистрация: 02.09.2010
Сообщений: 31

сделал как вы советовали.
при моем рабочем разрешении (1280 на сколько то)
во всех браузерах alert(screen.width) =1280.

далее меняю разрешение на 800х600 при помощи intel graphic media accelerator driver.
во всех браузерах alert(screen.width) =800.
в опера alert(screen.width) =1280.
Ответить с цитированием
  #8 (permalink)  
Старый 16.08.2011, 01:13
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

а зачем цифра 1024 в ковычках??
if (screen.width < '1024')
Ответить с цитированием
  #9 (permalink)  
Старый 16.08.2011, 01:14
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

Сообщение от cyklop77
в опера alert(screen.width) =1280.
Может после смены разрешения стоит перезапустить оперу
Ответить с цитированием
  #10 (permalink)  
Старый 16.08.2011, 01:26
Аватар для B@rmaley.e><e
⊞ Развернуть
Отправить личное сообщение для B@rmaley.e><e Посмотреть профиль Найти все сообщения от B@rmaley.e><e
 
Регистрация: 11.01.2010
Сообщений: 1,810

Попробуйте screen.availWidth вместо width.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Opera не выполняет style.fontSize=... в поле input Маэстро Opera, Safari и др. 6 20.06.2011 12:03
setTimeout в браузере IE и Opera leha66 Javascript под браузер 2 13.12.2010 13:02
тег <audio> в Opera, Chrome, Firefox Magneto Javascript под браузер 12 25.11.2010 15:12
Jquery, dialog() в браузере Opera. uRandom jQuery 0 27.10.2010 10:35
Все-таки Opera -- мудацкий браузер Kolyaj Общие вопросы Javascript 27 29.10.2009 23:43