Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #61 (permalink)  
Старый 10.02.2010, 13:53
Аспирант
Отправить личное сообщение для limonad Посмотреть профиль Найти все сообщения от limonad
 
Регистрация: 22.01.2010
Сообщений: 51

Kolyaj,
ну а как еще можно показать содержимое другой страницы внутри окна?
Ответить с цитированием
  #62 (permalink)  
Старый 10.02.2010, 14:06
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

А зачем их хранить как полноценные страницы, если они ими не являются?
Ответить с цитированием
  #63 (permalink)  
Старый 10.02.2010, 18:14
Аватар для B~Vladi
Модератор Всея Форума
Отправить личное сообщение для B~Vladi Посмотреть профиль Найти все сообщения от B~Vladi
 
Регистрация: 14.05.2009
Сообщений: 4,021

limonad, замени фреймы AJAX-ом.

Заметил одну интересную вещь:
если при драге ничего больше не делается, кроме установки left и top (ну и аналогичных вещей) - браузер пытается оптимизировать рендеринг путем уменьшения fps. Как итог - тормоза.
Таблетка - принудительный reflow. Необходимо обратиться к любому из свойств (любого элемента):
innerWidth, innerHeight (как вариант).

Необходимо только протестить, какие параметры элемента влияют на скорость вычисления размера (и влияют ли вообще).
Ответить с цитированием
  #64 (permalink)  
Старый 10.02.2010, 18:58
Аспирант
Отправить личное сообщение для limonad Посмотреть профиль Найти все сообщения от limonad
 
Регистрация: 22.01.2010
Сообщений: 51

Попробовал reflow, рендеринг вырос до 0.12. Нашел кое-что по теме рендеринга: http://webo.in/articles/all/2009/31-...flow-relayout/ . Правда и там не всему можно верить. Например, там написано, что так делать плохо:
el.style.left = left + "px";
el.style.top  = top  + "px";

лучше мол так:
el.style.cssText += "; left: " + left + "px; top: " + top + "px;";

я попробовал, второй вариант значительно медленнее работает.
Ответить с цитированием
  #65 (permalink)  
Старый 10.02.2010, 19:05
Аспирант
Отправить личное сообщение для limonad Посмотреть профиль Найти все сообщения от limonad
 
Регистрация: 22.01.2010
Сообщений: 51

Понимаю что ajax будет рисоваться быстрее, но использовать его не хочется. Ведь могут быть страницы с неродного домена или например ссылки на страницах (как они будут тогда работать).
Ответить с цитированием
  #66 (permalink)  
Старый 10.02.2010, 19:52
Аватар для B~Vladi
Модератор Всея Форума
Отправить личное сообщение для B~Vladi Посмотреть профиль Найти все сообщения от B~Vladi
 
Регистрация: 14.05.2009
Сообщений: 4,021

Сообщение от limonad
Попробовал reflow, рендеринг вырос до 0.12
За-то тормозов нет.
Сообщение от limonad
Ведь могут быть страницы с неродного домена или например ссылки на страницах (как они будут тогда работать).
Сайт в сайте? Может не стоит так далеко уходить?
Сообщение от limonad
лучше мол так:
Аха, я тоже читал. Может попробовать менять margin?
Ответить с цитированием
  #67 (permalink)  
Старый 10.02.2010, 19:57
Аватар для B~Vladi
Модератор Всея Форума
Отправить личное сообщение для B~Vladi Посмотреть профиль Найти все сообщения от B~Vladi
 
Регистрация: 14.05.2009
Сообщений: 4,021

Да, забыл. В ИЕ8 рендеринг медленнее, чем в прошлых версиях (в 6 самый быстрый). Можно перевести его в режим ИЕ7 - помогает.
Ответить с цитированием
  #68 (permalink)  
Старый 10.02.2010, 20:10
Аспирант
Отправить личное сообщение для limonad Посмотреть профиль Найти все сообщения от limonad
 
Регистрация: 22.01.2010
Сообщений: 51

Что вы думаете о такой идее? При старте драга из divа содержащего фрейм запомнить в какой-то пременной его innerHTML и тут-же в div записать innerHTML=''. А при окончании драга вернуть в div то, что запомнили. (но тут наверное может потеряться содержимое фрейма если там был сделан переход по ссылкам, да и скрол потерятся если был.). Может есть еще какой-то вариант весь этот узел с фреймом убрать куда-то на время переноса так, чтобы он не пересчитывался и не рендерился? Подскажите.
Ответить с цитированием
  #69 (permalink)  
Старый 10.02.2010, 20:18
Аватар для B~Vladi
Модератор Всея Форума
Отправить личное сообщение для B~Vladi Посмотреть профиль Найти все сообщения от B~Vladi
 
Регистрация: 14.05.2009
Сообщений: 4,021

Сообщение от limonad
Что вы думаете о такой идее?
Не прокатит: потеряются все обработчики событий. Содержимое можно просто скрывать или перенести в другое место: эффект тот-же.
Ответить с цитированием
  #70 (permalink)  
Старый 10.02.2010, 20:23
Аспирант
Отправить личное сообщение для limonad Посмотреть профиль Найти все сообщения от limonad
 
Регистрация: 22.01.2010
Сообщений: 51

B~Vladi, содержимое скрывается итак. Я хотел бы избавится от фрейма вообще на время драга. Все таки без фреймов быстрее работает. А обработчики мне для фрейма не нужны, их у него нет. Как бы удалить этот фрейм на время из DOMa.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Высота страницы по высоте окна браузера Николян (X)HTML/CSS 4 16.01.2014 20:12
Вывод данных единожды, при открытии окна? Ggorsh Events/DOM/Window 1 28.04.2009 01:04
Реклама по центру окна браузера Макс Элементы интерфейса 2 15.06.2008 00:55
Нужно вызвать функцию из другого окна Destiny Общие вопросы Javascript 6 07.05.2008 01:32
из дочернего окна вызывать методы родителського uzirig Общие вопросы Javascript 6 23.03.2008 12:33