Имя: Пароль:
IT
Веб-мастеринг
Разное значение offsetWidth и offsetHeight в разных браузерах - как победить?
0 Котокот
 
04.02.15
12:56
Пытаюсь получить ширину и высоту элемента на поле html-документа, использую offsetHeight и offsetWidth. Так вот, в разных браузерах данные методы возвращают разные значения. В осле alert(elem.offsetHeight) пишет "150", в хроме - "154" (правильное значение - 150). Соответственно, в тонком и веб-клиенте получаем разное поведение.
Что можно использовать вместо offsetHeight и offsetWidth, чтобы получать одинаковую правильную высоту и ширину в разных браузерах?
1 Котокот
 
04.02.15
13:46
Эй, где все?
2 Котокот
 
04.02.15
17:38
Я оптимист, я знаю, здесь есть матерые веберы, просто они еще не увидели эту тему, но сейчас увидят, зайдут и помогут!
3 Garykom
 
гуру
04.02.15
17:43
(0) поступать так как поступают true веб-верстальщики...

определяем тип броузера и вводим (прибавляем/вычитаем) упреждение (корректировку ширины и высоты)

ЗЫ ))
4 Todorov
 
04.02.15
17:47
http://help.dottoro.com/ljuxqbfx.php

вот этот момент:
If you need a cross-browser solution to get the total size of the document, use the scrollWidth and scrollHeight properties of the html element.

Не?

А вообще согласен с (3)
5 Котокот
 
04.02.15
17:54
(3) Вот блин... Их же 100500.
(4) Пробовал - не катит.
6 Garykom
 
гуру
04.02.15
18:37
(5) так ты не каждый броузер то определяй, а только его "тип" т.е. к какой группе он относится (какую поправку делать)
7 Garykom
 
гуру
04.02.15
18:39
(6)+ но если честно вот сча пытаюсь сайт наваять и хочется всех убить начиная от "изобретателей" HTML, CSS и заканчивая разработчиков броузеров


ЗЫ ну дык >100 фреймворков для "удобной" "адаптируемой" разметки веб страниц - это явно не то!
8 Котокот
 
04.02.15
22:26
(6) Да хочется избавиться от проверок и от необходимости их делать... Это ж яваскрипт, на управляемой форме в веб-клиенте он и так не ахти как быстро работает, а тут еще дополнительная нагрузка.
9 Garykom
 
гуру
04.02.15
23:06
(8) а что делать, вон современный хром для работы требует мин гиг оперативки и проц с sse2

и один фиг тормозит на некоторых сайтах ))
10 Asmody
 
04.02.15
23:34
11 Котокот
 
05.02.15
06:54
(10) Да, по идее должно сработать, там как раз паддинги и влияют на различие результата.
12 Помогите
 
05.02.15
08:15
(3) Проверять тип браузера - это ламерство какое-то.
Не давай плохих советов, не красиво.
13 Mutniy2
 
05.02.15
08:26
(9) > а что делать, вон современный хром для работы требует мин гиг оперативки и проц с sse2

О_о. Серьезно?
14 kortun
 
05.02.15
09:00
(13) ога, очень он прожорливый, память жрет как хомячок, даже если ему не надо, то все равно нахомячит себе
15 Котокот
 
06.02.15
07:30
Таки дело оказалось не в паддингах, а в бордерах. Сделал границы нулевыми - все определяется корректно. Копаю дальше.
16 Todorov
 
06.02.15
13:07
Firebug'ом пользуетесь? Для хрома, осла и оперы есть http://getfirebug.com/firebuglite, может, натолкнет на какую-нибудь мысль.

Вот, в закладках лежит, даже распечатал в свое время, чтобы перед глазами было
http://stackoverflow.com/questions/21064101/understanding-offsetwidth-clientwidth-scrollwidth-and-height-respectively
17 Котокот
 
06.02.15
20:55
(16) Спасиб, с утра больше этим вопросом не занимался, некогда. После почитаю.
18 Котокот
 
06.02.15
22:17
(16) Блин, точно! Спасибо тебе, добрый фей, за такую наглядную картинку! Пасьянс сошелся. В первом случае мне нужен был clientWidth, а не offsetWidth.
19 Помогите
 
09.02.15
08:26
(16) >> Для хрома, осла и оперы есть http://getfirebug.com/firebuglite

Есть встроенный Firebug по кнопке F12, и ничего стороннего не нужно устанавливать.
20 Котокот
 
09.02.15
10:19
Таки не работает даже в варианте (16). Буду делать проверку браузера и в зависимости от этого рассчитывать поправку.
21 Todorov
 
10.02.15
14:16
(20) Жаль, что не помогло. ИМХО проверка браузера - самое простое и быстрое решение в Вашем случае. Мне в свое время тоже пришлось с этим играться, кончилось именно так. Жалко, что время на все эти пробы потерял.
Удачи!
22 Котокот
 
10.02.15
14:26
(21) Спасибо, сейчас вроде все норм. Если интересно, попробуйте потестить:
http://109.110.95.146/demo_erp
Логинимся под аккаунтом "Орлов МВ (Администратор)", пароль пустой. Справа вверху выбираем подсистему "Веб формы", затем слева вверху кликаем гиперссылку "Веб формы", открываем элемент "Канбан мини", жмем "Обновить" и смотрим, как при переносе задач из колонок, соответствующих сотрудникам, эти самые задачи назначаются этим самым сотрудникам. На рабочем столе в типовом списке "Мои задачи" видим результат. Если баги все-таки обнаружатся - пишем мне )
23 Котокот
 
10.02.15
14:26
Раньше при перетаскивании изменялся размер карточек задач, сейчас нормально. Тестировал в Осле 8 и 11, Опере, Хроме.
24 Todorov
 
11.02.15
16:19
(23) Похоже, все в порядке. Посмотрел в FF 31 ESR и IE9. Мне нравится. Может, к чему-то и можно придраться (например, в "квадратиках" заданий слово Объ обрезано, хоть в ишаке, хоть в лисе). Но на функциональность не влияет. Лучшее - враг хорошего. Поздравляю!
25 Котокот
 
11.02.15
16:59
(24) Спасибо за тест и за отзыв! Обрезанные надписи - это фигня, над этим еще плотно не работали. Пока была основная задача - интегрировать подсистему в ERP и посмотреть, а заработает ли оно вообще. Заработало )))
Компьютеры — прекрасное средство для решения проблем, которых до их появления не было.