360CSE New Tab Mod • RU : 2020.1.7
Опубликовано: Бармалей · 07.01.2020 · 00:01 ••• Обновление: 25.03.2021 · 11:49 0

Модификация стандартной встроенной страницы новой вкладки.
Доработка функционала улучшенного варианта 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;
    • убран временный "костыль" (перезапуск панелей), использовавшийся при изменении минимального числа отображаемых эскизов;
  • начат отход от лишних запросов к самому браузеру + переопределение части локально сохраняемых данных и настроек:
    • часть локальных данных браузера теперь игнорируется – для "новой вкладки" используются собственные настройки из localStorage;
    • изменена структура хранения данных в localStorage – все настройки теперь хранятся в ключе "modeOptions";
    • оригинальный ключ "mode_opstions" и большинство предыдущих ключей не используются (игнорируются), импорт не выполняется;
    • кроме ключа "modeOptions" используются ключи "thumbOpValue" (прозрачность) и "searchEngines"* (поисковые движки);

      * Если при старте обнаруживаются аналогичные ключи старых версий – выполняется их конвертация с последующей зачисткой.

    • добавлен ключ "mostVisitedCache" – хранение кэша текущих параметров эскизов для режимов "сетка" и "навигация".
Прочие изменения и улучшения:
  • изменён рантайм отдельных функций + удалена часть промежуточных переменных (замена на аргументы функций);
  • снижен расход памяти за счёт обнуления/автоочистки промежуточных таймаутов после отработки функций;
  • почищен код, удалена часть ранее закомментаренного "мусора" и тестовые фрагменты.

Установка модификации:

Заменить в папке установки браузера файл newtab.zip на соответствующий файл из архива.


История и обсуждение

Общие технические сведения
  • Технологии и API:
    Чистый HTML, JavaScript (ES5), CSS2
  • Запрашиваемые разрешения:
    По умолчанию, для служебных страниц браузера

Загрузка и установка

Дополнительно

Официальные версии Документация
Бармалей 07.01.2020 25.03.2021 200 0.0

Поделиться

Всего комментариев: 0
close