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
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: данные, полученные через ajax
Покинул форум
Сообщений всего: 882
Дата рег-ции: Март 2010
Помог: 1 раз(а)
От сервера пришли html данные.
1. Внутри этих данных есть скрипты, внутри которых находится $(document).ready(...); Отработает ли ready также, как-будто это не ajax-данные, которые вставляются в dom, а обычная html страница? То есть будет ли вызвана ф-ция, передаваемая в ready, после того, как весь html вставлен в dom?
2. Если внутри этих данных есть стили, то они применятся или уже будут игнорироваться? И будет ли отменено действие стилей, если потом удалить из dom этот html?
Спасибо.
DeepVarvar
Отправлено: 19 Апреля, 2012 - 10:07:29
Активный участник
Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008 Откуда: Альфа Центавра
Помог: 353 раз(а)
1) Зависит от того что в этом скрипте находится. Вобщем работает не все и не всегда. Подробности станем разбирать если дадите конкретный пример.
2) Применятся, и лучше вставлять их в DOM последовательно (относительно др. др.) чтобы не было проблем с порядком присвавания стилевых описаний к элементам на странице.
Покинул форум
Сообщений всего: 4555
Дата рег-ции: Февр. 2007 Откуда: Симферополь
Помог: 98 раз(а)
1. Дык document.ready подразумевает родительский документ. То что приезжает в ответе и потом вставляется на страницу уже не попадает под ready, т.к. документ уже готов.
Покинул форум
Сообщений всего: 882
Дата рег-ции: Март 2010
Помог: 1 раз(а)
Viper пишет:
1. Дык document.ready подразумевает родительский документ. То что приезжает в ответе и потом вставляется на страницу уже не попадает под ready, т.к. документ уже готов.
А как тогда быть с пришедшими данными? Какая альтернатива document.ready есть? (Добавление)
DeepVarvar пишет:
2) Применятся, и лучше вставлять их в DOM последовательно (относительно др. др.) чтобы не было проблем с порядком присвавания стилевых описаний к элементам на странице.
а при удаление этого html действие стилей, которые были в этом html отменятся?
DeepVarvar
Отправлено: 19 Апреля, 2012 - 12:04:19
Активный участник
Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008 Откуда: Альфа Центавра
Помог: 353 раз(а)
Нет, не отменяется, нужно переопределять. Кроме того для кроссбраузерности (ослокостыли) лучше использовать (с помощью js) добавление и удаление классов к элементу с заранее готовыми описаниями стилей.
Благо классов можно задать несколько одновременно:
Покинул форум
Сообщений всего: 4254
Дата рег-ции: Февр. 2011 Откуда: .kh.ua
Помог: 242 раз(а)
DeepVarvar, не знаю как в FF 3.5, но последние стабильные и тестовые Opera, FF, Chrome, IE отменяю действие стиля.
Тут тот же прикол что и с добавлением стиля(да и любым изменением DOM) дерево пересчитывается по-новой, по новому применяются стили.
Или я сонный не понял смысла последнего сообщения?
DeepVarvar
Отправлено: 19 Апреля, 2012 - 14:58:19
Активный участник
Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008 Откуда: Альфа Центавра
Помог: 353 раз(а)
Кажется я не прав со стилями.
Однако это не отменяет того что все эти действия нафиг не сдались.
Гораздо правильнее прислать в ответе сервера чистый JSON и обработать его как нужно на клиенте.
Не вставляя какие-то теги стилей в DOM, а добавляя/удаляя классы элементам.
Так все CSS-оформление будет лежать в одном статическом readonly-файле который будет отдавать сервер,
а браузер кешировать, тогда пхп не будет генерировать всякую лабуду из хтмл-какашек.
Код станет чище и действий будет мньше.
Покинул форум
Сообщений всего: 882
Дата рег-ции: Март 2010
Помог: 1 раз(а)
DeepVarvar пишет:
Однако это не отменяет того что все эти действия нафиг не сдались.
Гораздо правильнее прислать в ответе сервера чистый JSON и обработать его как нужно на клиенте.
Не вставляя какие-то теги стилей в DOM, а добавляя/удаляя классы элементам.
Так все CSS-оформление будет лежать в одном статическом readonly-файле который будет отдавать сервер,
а браузер кешировать, тогда пхп не будет генерировать всякую лабуду из хтмл-какашек.
Код станет чище и действий будет мньше.
Я все сказал Радость
Ну у меня на всех страницах логотип имеет высоту 100px и лишь на главной высота должна быть 150px. Мне проще присылать через аякс в данных стиль переопределяющий высоту логотипа для этой единственной страницы, нежели с json-ом возиться и лишние действия делать.
DeepVarvar
Отправлено: 19 Апреля, 2012 - 15:24:01
Активный участник
Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008 Откуда: Альфа Центавра
Помог: 353 раз(а)
Дааа? А мне проще прислать название стиля и вставить его в логотип.
В моем случае 4-5 символов против ваших 30-100...
Кроме того работа с JSON совсем не выглядит возней, это действительно удобно.
Сами же и придете к этому выводу позднее.
Покинул форум
Сообщений всего: 4526
Дата рег-ции: Февр. 2011 Откуда: Москва
Помог: 221 раз(а)
DeepVarvar пишет:
Кроме того работа с JSON совсем не выглядит возней, это действительно удобно.
Сами же и придете к этому выводу позднее.
Согласен.
IllusionMH
Отправлено: 19 Апреля, 2012 - 15:48:37
Активный участник
Покинул форум
Сообщений всего: 4254
Дата рег-ции: Февр. 2011 Откуда: .kh.ua
Помог: 242 раз(а)
Pavelbeginner пишет:
Ну у меня на всех страницах логотип имеет высоту 100px и лишь на главной высота должна быть 150px. Мне проще присылать через аякс в данных стиль переопределяющий высоту логотипа для этой единственной страницы, нежели с json-ом возиться и лишние действия делать.
AJAX - you're doing it wrong
На главной добавить класс для какого-нить элемента(к примеру обертки для центровки) или еще куча вариантов как на главной странице в CSS прописать размер логотипа.
Покинул форум
Сообщений всего: 882
Дата рег-ции: Март 2010
Помог: 1 раз(а)
IllusionMH пишет:
На главной добавить класс для какого-нить элемента(к примеру обертки для центровки) или еще куча вариантов как на главной странице в CSS прописать размер логотипа.
не куча. Логотип находится в неменяемой ajax-ом части. Он находится в шапке сайта, а шапка не меняется.
DelphinPRO
Отправлено: 20 Апреля, 2012 - 08:47:47
Активный участник
Покинул форум
Сообщений всего: 7187
Дата рег-ции: Февр. 2012
Помог: 353 раз(а)
на главной странице добавляйте класс прямо в <body>
и переопределяйте высоту лого в стилях
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.