Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 09.01.2011, 07:12
Интересующийся
Отправить личное сообщение для Шацкий Денис Посмотреть профиль Найти все сообщения от Шацкий Денис
 
Регистрация: 21.08.2010
Сообщений: 15

Определение размеров клиентской части браузера
Добрый день! Нашёл скрипт на определение размеров клиентской части браузера.
Код(немного дописан, но суть не изменилась):
function screenSize() {
      var l, l2, w, h, h1, w1, i; // Объявляем переменные, w - длина, h - высота
      w = (window.innerWidth ? window.innerWidth : (document.documentElement.clientWidth ? document.documentElement.clientWidth : document.body.offsetWidth));
      h = (window.innerHeight ? window.innerHeight : (document.documentElement.clientHeight ? document.documentElement.clientHeight : document.body.offsetHeight));
      
	  h1 = h / 158;
	  w1 = w / 150;
	  l = Math.round(h1);
	  l2 = Math.round(w1);
	return {l2:l2,l:l, h1:h1, w1:w1, w:w, h:h};
	
	

// Пример:
for (i=1;i<=screenSize().l;i=i+1) {
document.write( '<p align = left><img src ="r1.png"</img>');}
document.write(
	
      "Длина = " + screenSize().w + "px<br>" +
      "Высота = " + screenSize().h + "px<br>" +
	  "По длине = " + screenSize().l + " шт.<br>" +
	  "По высоте = " + screenSize().l2 + " шт." 
);

Как сделать так, чтобы скрипт стал интерактивным что ли? Ведь в этом варианте размеры проверяются только при обновлении страницы
Ответить с цитированием
  #2 (permalink)  
Старый 09.01.2011, 07:41
Особый гость
Посмотреть профиль Найти все сообщения от monolithed
 
Регистрация: 02.04.2010
Сообщений: 4,260

есть обработчик события onresize
Ответить с цитированием
  #3 (permalink)  
Старый 09.01.2011, 07:48
Интересующийся
Отправить личное сообщение для Шацкий Денис Посмотреть профиль Найти все сообщения от Шацкий Денис
 
Регистрация: 21.08.2010
Сообщений: 15

Сообщение от monolithed Посмотреть сообщение
есть обработчик события onresize
А можно немного подробнее, как его вставить в исходный код
Ответить с цитированием
  #4 (permalink)  
Старый 09.01.2011, 09:02
Аватар для Vulkan
Профессор
Отправить личное сообщение для Vulkan Посмотреть профиль Найти все сообщения от Vulkan
 
Регистрация: 25.05.2010
Сообщений: 511

Можно так:
<body onresize="function();">
Ответить с цитированием
  #5 (permalink)  
Старый 09.01.2011, 15:05
Интересующийся
Отправить личное сообщение для Шацкий Денис Посмотреть профиль Найти все сообщения от Шацкий Денис
 
Регистрация: 21.08.2010
Сообщений: 15

У меня всё равно ничего не получается не работает document.write и соответственно картинка не пропечатывается... подскажите, пожалуйста подробнее
Ответить с цитированием
  #6 (permalink)  
Старый 09.01.2011, 16:58
Особый гость
Посмотреть профиль Найти все сообщения от monolithed
 
Регистрация: 02.04.2010
Сообщений: 4,260

Шацкий Денис скажите что вы делате?
Ответить с цитированием
  #7 (permalink)  
Старый 09.01.2011, 17:10
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,587

document.write и не должен работать.
Почитайте хотя-бы основы javascript.
Ответить с цитированием
  #8 (permalink)  
Старый 09.01.2011, 17:53
Интересующийся
Отправить личное сообщение для Шацкий Денис Посмотреть профиль Найти все сообщения от Шацкий Денис
 
Регистрация: 21.08.2010
Сообщений: 15

Ну это я понял, что document.write не будет работать. Ну а как тогдаорганизовать вставку png файла? Задумка была такая: Считываем размеры клиентской части браузера, делим эти показатели на размеры png-файла и вставляем их (png-файлы) через document.write....Может я чего-то не понимаю, но можно ли такое реализовать на javaScript?
Ответить с цитированием
  #9 (permalink)  
Старый 09.01.2011, 19:01
Аватар для Vulkan
Профессор
Отправить личное сообщение для Vulkan Посмотреть профиль Найти все сообщения от Vulkan
 
Регистрация: 25.05.2010
Сообщений: 511

Скрипт вообще не рабочий был, даже кое-где фигурных скобок не хватало, короче хоть как-то его переделал, сейчас работает.
<head>
<script>
function getClientWidth() {
    return document.compatMode == 'CSS1Compat' && !window.opera ? document.documentElement.clientWidth : document.body.clientWidth;
}

function getClientHeight() {
    return document.compatMode == 'CSS1Compat' && !window.opera ? document.documentElement.clientHeight : document.body.clientHeight;
}

function ss() {
    var l, l2, w, h, h1, w1, i;
    w = getClientWidth();
    h = getClientHeight();
    h1 = h / 158;
    w1 = w / 150;
    l = Math.round(h1);
    l2 = Math.round(w1);
    return {
        l2: l2,
        l: l,
        h1: h1,
        w1: w1,
        w: w,
        h: h
    }
}

window.onload = function () {
    var screenSize = ss(),
        div = document.getElementsByTagName('div')[0];

    // Пример:
    for (i = 1; i <= screenSize.l; i = i + 1)
    div.innerHTML += '<p align = left><img src="r1.png"/>';
    div.innerHTML += "Длина = " + screenSize.w + "px<br>Высота = " + screenSize.h + "px<br>По длине = " + screenSize.l + " шт.<br>По высоте = " + screenSize.l2 + " шт.";
}
</script>
</head>

<body>
<div></div>
</body>
Ответить с цитированием
  #10 (permalink)  
Старый 09.01.2011, 19:06
Аватар для Vulkan
Профессор
Отправить личное сообщение для Vulkan Посмотреть профиль Найти все сообщения от Vulkan
 
Регистрация: 25.05.2010
Сообщений: 511

Насчёт определения размера, можно например указывать ссылку на картинку и определять её размеры
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Точное определение браузера YISHIMITSY Javascript под браузер 3 23.10.2012 19:43
Подмена размеров окна браузера Александр Иванов Events/DOM/Window 5 09.02.2010 11:27
IE6 и определение размеров ВСЕГО документа jestalnar Общие вопросы Javascript 1 02.02.2009 11:05
Определение активности окна браузера Dextrum Events/DOM/Window 2 23.07.2008 13:58
Не просто определение типа браузера... Driver86 Общие вопросы Javascript 6 08.04.2008 21:35