Модификация стандартной встроенной страницы новой вкладки.
Доработка функционала улучшенного варианта newtab.zip, исправление мелких ошибок, новые фичи, оптимизация кода.
Проверка работоспособности: 360 Extreme Explorer 9.5.0.138/11.0.2251.0/12.0.1053.0.
Модификация предназначена только для браузеров семейства 360 Extreme Explorer (360Chrome/360CSE)!
Основные изменения и новые функции:
- исправлены найденные ошибки и "корявки" интерфейса:
- учёт внешних изменений настроек в блоке Настроек – напр., прозрачности (в "Темах и обоях") или отображения панели закладок;
- исправлена (потенциальная) ошибка оригинала – некорректное чтение localStorage, на старых версиях могло вызвать подвисание браузера;
- пофиксены некоторые мелкие ошибки оригинала – неправильно заданные константы и переменные, не влияющие на общий функционал;
- добавлено закрытие блока создания/редактирования свойств эскиза по нажатию Escape (в дополнение к кнопке "Отмена");
- округление пиксельных значений до целых при расчётах параметров сетки эскизов, полей и размеров элементов;
- для упрощения рантайма JS-кода изменена структура HTML, переупорядочены отдельные элементы интерфейса и их вложенность;
- под изменённую структуру HTML доработан функционал и стиль формы поиска + упрощён расчёт позиционирования элементов формы;
- отображение поисковой формы теперь зависит только от переключателя "Панель поиска", в т.ч. и для режима "Пустая страница";
- отображение соответствующих элементов формы поиска (категорий/подсказок) также зависит только от их переключателей;
- доработан функционал и стиль отображения эскизов в режимах "Сетка" и "Навигация" + допилен расчёт позиционирования эскизов:
- у ползунка "Количество эскизов" добавлено "минимум", реально отображаемое число эскизов может быть больше – до заполнения нижнего ряда;
- отключено отображение полосы прокрутки страницы (отсутствует всегда, скрыта стилем), сама прокрутка работает как обычно;
- доработаны функции расчёта полей и отступов эскизов для визуальной центровки блока эскизов относительно центра страницы;
- улучшена функция позиционирования эскизов при изменении числа отображаемых элементов и/или при ресайзе окна браузера;
- добавлен временный "костыль" для визуальной центровки блока кнопок страницы "Топ-сайтов" (в режиме "Сетка");
- в блоке Настроек "
Панель приложений" переименована в "Сайты и приложения" + разблокирован доступ к панели приложений;
- штатный функционал страницы приложений восстановлен не полностью (пока), работает только запуск, настройки и т.п. недоступны;
- страница приложений отображается всегда – независимо от наличия установленных приложений (в оригинале – только если они есть);
- поисковая форма на странице приложений не отображается в любом случае – это поведение соответствует классике хром-браузеров;
- в блоке Настроек добавлена опция "Обои в размер окна" – масштабирование обоев под текущий размер окна браузера:
- опция имеет смысл только для режима обоев "Быстрый доступ" (отображение обоев только на странице быстрого доступа);
- опция проверяется/применяется автоматически и не зависит от переустановки/сброса обоев в настройках "Темы и обои";
- изменён функционал/стиль боковых переключателей страниц в режиме "сетка" (переключение между "Сайтами" и "Приложениями"):
- упрощён CSS, вместо смены фонового изображения применяются css-эффекты, удалены лишние определения стилей и графика;
- переключатели влево/вправо теперь отображаются всегда, переключение страниц закольцовано (для удобства пользования);
- доработана функция включения/выключения отображения переключателей, упрощён код, убраны дублирующие вызовы;
- оптимизация CSS – удалены неиспользуемые стили/графика + частично переопределены требуемые под текущую html-структуру:
- неподдерживаемые в старых версиях браузеров операторы стилей заменены на аналоги + оптимизация классов отдельных элементов;
- почищен/упрощен код, изменены/удалены отдельные промежуточные переменные и функции, оптимизация основного скрипта:
- изменён метод установки/переключения стилей элементов интерфейса – замена жёстких "style=" на переключение CSS-классов;
- убраны/унифицированы множественные вызовы/определения функций и лишние переопределения стилей элементов интерфейса;
- начат отход от использования "вложенной" библиотеки jQuery – переопределение отдельных реально необходимых функций;
- повышена скорость выполнения отдельных функций, хранение части параметров в памяти вместо запросов к браузеру/localStorage;
- убран временный "костыль" (перезапуск панелей), использовавшийся при изменении минимального числа отображаемых эскизов;
- начат отход от лишних запросов к самому браузеру + переопределение части локально сохраняемых данных и настроек:
Прочие изменения и улучшения:
- изменён рантайм отдельных функций + удалена часть промежуточных переменных (замена на аргументы функций);
- снижен расход памяти за счёт обнуления/автоочистки промежуточных таймаутов после отработки функций;
- почищен код, удалена часть ранее закомментаренного "мусора" и тестовые фрагменты.
Установка модификации:
Заменить в папке установки браузера файл newtab.zip на соответствующий файл из архива.
История и обсуждение
Общие технические сведения
- Технологии и API:
Чистый HTML, JavaScript (ES5), CSS2
- Запрашиваемые разрешения:
По умолчанию, для служебных страниц браузера
Загрузка и установка
Дополнительно
|