Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: PHP разрешение экрана
Форумы портала PHP.SU » Клиентская разработка » JavaScript & VBScript » PHP разрешение экрана

Страниц (2): [1] 2 »
 

1. biperch - 16 Сентября, 2011 - 16:48:30 - перейти к сообщению
Постала задача определить разрешение экрана пользователя для того чтобы исходя из размера экрана выводить в ширину 4, 5 ,6 и тд товаров.
через javascript знаю как определить и как передать но это не сработает при первой загрузке страницы.
Может браузер передает в заголовках разрешение экрана или нет.

Может кто сталкивался
2. SAD - 16 Сентября, 2011 - 16:51:35 - перейти к сообщению
после загрузки страницы разруливать яваскриптом
3. garvey - 16 Сентября, 2011 - 16:51:43 - перейти к сообщению
Нет, браузер не передает разрешение экрана в хидерах. Узнайте Яваскриптом, а потом передайте это значение аяксом на сервер.
4. LIME - 16 Сентября, 2011 - 16:54:50 - перейти к сообщению
biperch ну да...при первой загрузке без тела только JS с редиректом и передачей параметров
5. garvey - 16 Сентября, 2011 - 16:56:08 - перейти к сообщению
LIME, зачем редиректы? Аякс. 21-й век
6. biperch - 16 Сентября, 2011 - 17:06:47 - перейти к сообщению
решил пойти другим путем, выводить все как есть float:left а потом смотря какой экран считать сколько товаров в ряд поместится, а остальное пространство скриптом margin добавлю чтобы равномерные отступы были между товарами
7. LIME - 16 Сентября, 2011 - 17:32:09 - перейти к сообщению
garvey в принципе да
если только кол-во товаров и ничто больше не зависит от экрана
8. biperch - 16 Сентября, 2011 - 17:52:53 - перейти к сообщению
хотел через ПХП из за того что бы не заморачиватся с кросбаузерностью, но так подумал ведь за меня все сделает JQuery ))
9. DeepVarvar - 16 Сентября, 2011 - 18:23:46 - перейти к сообщению
10. biperch - 16 Сентября, 2011 - 19:30:57 - перейти к сообщению
немножко не то, выводятся товары, типа помещается 4 шт но есть еще место сбоку где не поместился 5 блок, так вот я хочу скриптом задать отступы блокам для того что бы они красиво по ширине стояли типа равномерно

а ваш скрипт высоту определяет и всем одинаковую задает, я от этого ушел ограничением количества выводимого описания, и бронированием высоты для текстов типа название и тд чтобы все ровнехонько было и не прыгало когда одно название в две а другое в четыре типа такого, тогда все чехардой идет.
11. biperch - 18 Сентября, 2011 - 19:17:45 - перейти к сообщению
взял выше приведенный пример по ссылке и трошки усовершенствовал, теперь он не только высоту блоков в ряду одинаковой делает, так теперь и равномерные расстояния между блоками, что бы они ровненько смотрелись.

CODE (javascript):
скопировать код в буфер обмена
  1.  
  2.  
  3. function autoEquallyFloatHeight(e,p) {
  4.             var ew = e.eq(0).width();
  5.             var pw = p.width();
  6.             var dcnt = (pw/ew|0); // количество товаров в ряду
  7.             var imax;  /* макс высота элементов в ряду*/
  8.                         var margin = ((pw-ew*dcnt)/(dcnt+1)|0);  //отступ у элемента с каждой стороны
  9.             var clines = (e.length/dcnt|0)+1; // количество рядов блоков
  10.             e.css("height","100%");
  11.             for (var line=0; line<clines; line++) {
  12.                     imax = 0;
  13.                     for (var d=(dcnt*line); d<(dcnt*line)+dcnt; d++) {
  14.                             if (imax < e.eq(d).height()) {
  15.                                     imax = e.eq(d).height();
  16.                                     }
  17.                             }
  18.                                                        
  19.                                                        
  20.                                                        
  21.                     for (var n = (dcnt*line); n<(dcnt*line)+dcnt; n++) {
  22.                             e.eq(n).height(imax);
  23.                             e.eq(n).css('margin-left', margin+'px');
  24.                                                        
  25.                             }
  26.                     }
  27.             }
  28.                         window.onload = function() {
  29.         autoEquallyFloatHeight($(".browseProductContainer"), $('#product_list'));
  30.         }
  31.                 window.onresize = function() {
  32.         autoEquallyFloatHeight($(".browseProductContainer"), $('#product_list'));
  33.         }
  34.  
  35.  
12. login8 - 18 Февраля, 2012 - 10:52:00 - перейти к сообщению
Друзья, дак есть же скрипт определения разрешения экрана плюс глубина цвета, прямо на этом сайте, там javascript передает параметры все в php http://php.su/articles/?cat=exam...les&page=063 . Я его испытывал правда он неработает Огорчение Огорчение
(Добавление)
Может кто знает в чем там дело? Закатив глазки
13. illy - 18 Февраля, 2012 - 10:59:38 - перейти к сообщению
вообще ничего не пишет?
14. login8 - 18 Февраля, 2012 - 17:23:19 - перейти к сообщению
illy пишет:
вообще ничего не пишет?

Там есть javascript файл , и php. Когда открываешь javascript файл оно тебя сразу должно переадресовать на php где и фиксируются тои разрешения экрана и глубина цвета манитора.
Дак вот он вообще не переадресовывает, нехочет. Просто голая странца белая стоит и все. =(
Облом короче, хороший скрипт но..... чета не фурычит.
15. aleksej5226 - 25 Марта, 2013 - 15:09:26 - перейти к сообщению
login8 пишет:
Друзья, дак есть же скрипт определения разрешения экрана плюс глубина цвета, прямо на этом сайте, там javascript передает параметры все в php http://php.su/articles/?cat=exam...les&page=063 . Я его испытывал правда он неработает Огорчение Огорчение
(Добавление)
Может кто знает в чем там дело? Закатив глазки


я не великий программист, но нашел несоответствие

надо
CODE (javascript):
скопировать код в буфер обмена
  1. window.location.href = "http://localhost/view.php?
  2.                          width=" + width +
  3.                          "&height=" + height +
  4.                          "&color=" + colorDepth;


записать в одну строку

CODE (javascript):
скопировать код в буфер обмена
  1. window.location.href = "http://localhost/view.php?width=" + width + "&height=" + height + "&color=" + colorDepth;


и у меня заработало

 

Powered by ExBB FM 1.0 RC1