Цитата:
И мне кажется это уже извращение кода. Человек, который не указал DTD скорее всего даже не знает, что такое скрипт, поэтому этот вариант не критичен. |
Riim, а можно вопрос?! Только чесно!
Вам когда-нибудь приходилось оприделять размер клиентской области руками?! без фрейморков?! Если да, то можно взглянуть на код, которому вы доверяете?! |
Цитата:
Цитата:
Цитата:
|
Цитата:
null, HTML 4.01 Transitional, HTML 4.01, XHTML 1.0 Transitional, XHTML 1.0 Strict, XHTML 1.1. Opera 9.24, 9.63, 9.64, 10.00 1 alert(document.body.clientWidth==document.documentElement.clientWidth); Выводит true. Где ж разные?! |
То же самое и в FF 2.0.0.8, 3.0.8, 3.0.10.
|
То же самое и в IE 6,7,8.
Сдаётся мне, Вы просто издеваетесь... |
Я много печатаю.
|
Цитата:
window.parseFloat(window.opera.version()) < 9.5 как раз связана забавная ситуация: захожу на одну страничку через оперу и с ужасом обнаруживаю, что tooltip появляется явно не в том месте, где должен. Меня это очень удивило, т. к. я точно помнил, что тщательно все протестировал. В том числе и в опере. Установил заметно более старую оперу - все нормально. Начал поочередно, в обратном порядке (от более новой к старой), устанавливать разные версии (я собираю их иногда). В конце концов, вычислил, что изменение произошло при переходе на 9.5 . На все это ушло пол-ночи. На следующий день, вечером, с удивлением обнаружил, что версия PrototypeJs давно обновилась, и за пару минут нашел в новой версии число 9.5 . Т. е. пол-ночи было убито зря. Это все я к тому, что мне действительно приходилось определять размер клиентской области "руками" (как вы выразились). Причем у меня с этим столько связано, что вам и не снилось. Таки допечатал. Цитата:
Разница лишь в том, что я добавил проверку compatMode и оптимизировал своим чудо-способом, который на этом форуме признан жутко не читабельным. Цитата:
У меня так: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>blank</title> <script type="text/javascript"> window.onload = function() { alert([ document.body.clientHeight, document.documentElement.clientHeight ].join('\n')); }; </script> </head> <body> </body> </html> Выводятся два разных числа. Опера такая: Version - 10.00 alpha Build - 1139 Но это (разные числа) должно быть верно, для любой (по крайней мере, из тех с какими я сталкивался) оперы. И не только для нее. |
Для чего все эти сложности с массивом?!
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>blank</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <script type="text/javascript"> window.onload=function() { alert(document.body.clientWidth+', '+document.documentElement.clientWidth); } </script> </head> <body> </body> </html> А вот, что у меня: Opera 10.00 1, Build - 1355. 1263, 1279. Opera 9.64, Build - 10487 1263, 1279 Opera 9.24, Build - 8816 1274, 1274 Отличается из-за левой панели. Разрешение экрана - 1280х1024. Получается, что свойство document.documentElement.clientWidth показывает настояший размер, в отличии от document.body.clientWidth. Почему же вы тогда утверждаете обратное?! |
Почему я раньше писал, что document.documentElement.clientWidth==document.bod y.clientWidth в опере?!
Установите margin и padding в 0 для html и body и они совпадут. |
Цитата:
Здесь просто по привычке. Цитата:
Цитата:
Цитата:
window.parseFloat(window.opera.version()) < 9.5 Цитата:
|
:lol:
Конечно... Но я прав:) |
1263, 1279 - разные значения мы получаем из-за margin и padding, установленных по-дефолту... Каждый более-менее опытный верстальщил их обнулит и значения совпадут.
|
Цитата:
Цитата:
|
Цитата:
Цитата:
|
А в Opera 9.24 это происходит из-за левой панели. Она как раз и отнимает эти 5 пикселей... так что всё правильно...
|
Riim,
Дайте мне свой код, а?! |
Можно завтра:)
|
Цитата:
по поводу размеров клиентской области есть такая статья - http://www.howtocreate.co.uk/tutoria.../browserwindow |
Цитата:
Если у кого эти ф-ции возвращают неправельный результат - пожалуйста! напишите подробнее об этом! какой браузер, сборка, DTD и при каких условиях это проявляется. Возможно после установки каких-либо стилей у вас стала врать ф-ция или ещё что-нить. И, пожалуйста, не пишите вещей вроде "а ты попробуй дтд сменить - я уверен всё слетит!". Сначала сам поменяй, а потом говори! Ненада глупых догадок. clientWidth - это реализация браузера, а не свойство из спецификации DOM, поэтому смена DTD, думаю, не должна на это влиять. Хотя... Ядро браузера - потёмки... Спасибо. |
Цитата:
parseFloat(window.opera.version()) < 9.5 есть еще строка B.WebKit && !document.evaluate И еще есть таинственный compatMode, о котором ты ничего не спросил. Наверно потому что лучше всех знаешь что это. Если так, то странно, что не используешь где надо. Или может не актуально совсем? На данный момент функции очень далеки от понятия "кроссбраузерные". Это выше было доказано на конкретном примере. Но раз уж ты, несмотря на это, продолжаешь считать всех глупыми, а себя самым умным, то флаг тебе в руки, барабан на шею, и !самостоятельно! вперед в светлое будущее. |
Цитата:
Цитата:
Цитата:
Про веб кит... Браузеров существует ООЙ как много и если мы их всех будем учитывать - догадываетесь что тогда будет?! Такие вещи можно смело отбрасывать. Зайдите на лайв интернет и посмотрите процент этого браузера. Цитата:
Цитата:
Цитата:
Цитата:
Цитата:
|
Цитата:
|
Цитата:
|
Вы не знаете, где находится статистика по браузерам в liveinternet? Думаю, вы просто не знаете, что такое WebKit.
Для справки: WebKit -- движок рендеринга, используемый, в частности, браузерами Safari и Chrome. И всякими другими проектами, типа, AdobeAIR и TitaniumApp, что меня совсем не радует, т.к. движок говеный :) |
Я не про WebKit
что касается Safari и Chrome Chrome 1.7% Safari 2 0.6% Вот что вижу я. Я хотел получить вашу ссылку для того, чтобы увидеть данные, которые показаны вам. В Chrome ф-ция работает. |
Даже Opera Mini имеет больший процент, чем любой из WebKit-браузеров. Может вообще отказаться от JS, т.к. в нём почти ничего не работает?!:wacko:
|
Я прекрасно понимаю, что возможно многие меня сейчас обвинят.
ИМХО. Писать сайты необходимо под: 1. Mozilla потому что все знают почему. 2. Internet Explorer с 6(пока) по 8. Потому что билли ещё молодой. 3. Opera потому что почему-то он нравиться пользователям и на это нельзы закрывать глаза. Тем более, что амбиций у создателей много. Браузеры, которые могут, но лучше. чтоб не шли лесом: 1. Chrome - потому что гугл и это груто. 2. Safari - потому что жив Mac. Браузеры, которые ходят лесом сами, если разработчики из тайги: Konqueror и Цитата:
|
Цитата:
Цитата:
|
Kolyaj,
Основной процент - Chrome, в котором Цитата:
Цитата:
|
Цитата:
|
Цитата:
А про кроссбраузерность нельзя так категорично. Мне вот, например, нужно, чтобы часть моего кода работала абсолютно везде: от телефонов до игровых приставок. |
Riim,
Цитата:
Kolyaj, Цитата:
Цитата:
Если действительно нужен код, который будет работать везде - пожалуйста, есть куча вариантов которые вы все прекрасно знаете. Цитата:
|
Цитата:
|
Цитата:
Цитата:
Цитата:
Цитата:
Цитата:
Цитата:
Цитата:
Цитата:
|
При всём желании никто не сможет написать код который будет во ВСЕХ существующих браузерах работать правильно. Мы сами продлеваем таким прогам жизнь, поддерживая их. Хотите опять вернуться во времена "Битвы браузеров"?! когда приходилось ставить на что-то одно, потому что для всех невозможно было реализовать некоторые идей. Если мой сайт слетит в каком-нибудь Konqueror-е я только рад буду этому. Это касается как вёрстки так и JS.
И ещё момент. Почему мне навязывают фрейморки и библиотеки?! Я написал код, который работает там где мне надо и весит в 20 раз меньше?! Говоря "там где мне надо" я имею ввиду то, что было описанно несколькими постами выше. И я уверен что этот код потнадобиться многим людям. Сейчас мой нач. отдела плюёт на Safari и Chrome и я не думаю, что это не безосновательно. |
Riim...
Я всё протестил. Всё работает на реальных сайтах и в указанных браузерах. Если найдёшь ошибку - пиши если считаешь нужным. Мне не нужны твои Цитата:
Я здесь не ребус разгадываю. |
Цитата:
Цитата:
|
Цитата:
|
Цитата:
|
Часовой пояс GMT +3, время: 16:51. |