Задание
- Разберите пример Blog.html, в котором находится блог для любителей учиться =). Принцип работы данного сценария: имеется массив blog, содержащий объекты, формирующие записи блога. Конструктор Blog() создает объект записи блога с двумя свойствами – текст записи (body) и дата записи. Функция showBlog() выводит записи блога под атрибутом div.
- Усовершенствуйте код страницы Blog.html следующим образом:
- Модифицируйте способ сохранения дат, изменив тип данных переменной date на объект Date(). Формат даты для записей блога должен отображаться в виде ДД:ММ:ГГГГ.
- Создайте функцию сортировки массива записей блога по дате их создания в обратном хронологическом порядке (самая свежая запись должна быть наверху). Данная функция должна запускаться при каждом добавлении новой записи (sort).
- Создайте функцию поиска текста по всем записям блога searchText(). Результат поиска (запись, содержащая совпадения) должен выводиться на экран (alert). В случае отсутствия результатов поиска в текстовое поле searchfail должно выводиться сообщение об отсутствии совпадений. (indexOf, toLowerCase).
- Напишите функцию randomBlog(), случайным образом выбирающую запись блога
и отображающую её в отдельном окне. - Создайте метод containsText() объекта Blog на основе функции поиска (this), возвращающий true в случае, если запись блога содержит поисковую строку.
- Создайте метод toHTML() объекта Blog, на основе функции showBlog(), возвращающий запись блога как отформатированный HTML-код.
- Создайте метод toString() объекта Blog, выполняющий преобразование записей блога в строку вида: “[ДД:ММ:ГГГГ] текст записи из body”.
- Для избавления от излишнего дублирования методов для каждого экземпляра объекта Blog, создайте прототип объекта Blog, который содержит три вышеупомянутых метода.
- Создайте в прототипе объекта Blog, свойство signature, которое содержит подпись автора блога. Реализуйте добавление этой подписи к каждой записи блога.
- Осуществите возможность опционального добавления картинки к записи блога (файл добавляемого изображения должен находиться в той же папке, что и файл Blog.html).
- Создайте свой блог (состоящий из 10 и более записей), реализованный по данному алгоритму.