JS функция скачивания файла

В одном из проектов столкнулся со следующей задачей:

Необходимо реализовать возможность скачивания файла. При этом, если это картинка, она не должна открываться в вкладке браузера. Должно происходить именно скачивание.

С одной стороны, можно воспользоваться атрибутом тега a под названием download, но здесь есть проблема — этот атрибут не поддерживается IE 10 версии.

На просторах сети нашёл следующее решение:

Читать далее

Экспорт из PHP в Excel с помощью PhpSpreadsheet

В своей профессиональной деятельности я периодически сталкиваюсь с задачами экспорта/генерации данных в формате XLS/XLSX (Excel). Библиотека PhpSpreadsheet позволяет их решить.

Данная библиотека является логичным продолжением библиотеки PHPExcel, которая уже несколько лет не поддерживается.

Скачать и установить библиотеку предлагается с помощью composer:

composer require phpoffice/phpspreadsheet

Сайт: https://phpspreadsheet.readthedocs.io

Опишу реализацию типичных задач.

Читать далее

Организация универсального обработчика Ajax запросов

Этот сниппет обработчика ajax запросов я часто использую в своих проектах.

Представим себе такую задачу: необходимо реализовать CRUD (create, update, delete) операции элементов инфоблока Битрикс. При этом сами операции должны выполняться от имени такого пользователя, который:

  • авторизован на сайте
  • принадлежит определённой группе пользователей

Операции должны инициироваться POST обращением по Ajax к определённому скрипту (обработчику аякс запроса)

Читать далее

Реализация todo-list на Vue.js

Недавно начал изучать Vue.js

Для обкатки знаний поставил себе следующую задачу:

Реализовать todo-list (план дел на ближайшее время) со следующими простыми возможностями:

1) Добавление новой задачи
2) Удаление задачи
3) Отметка задачи как выполненной/не выполненной
4) Синхронизация состояния задач с удалённым хранилищем (чтобы после перезагрузки страницы данные не пропадали)

Получилось что-то вроде этого:

https://web-finder.ru/files/todo-checklist/

Особенности реализации читайте под катом.

Читать далее

Паттерны проектирования в JavaScript

Что такое паттерн проектирования?

В сфере разработки программного обеспечения паттерн проектирования (design pattern) — это повторяемая архитектурная конструкция, представляющая собой решение проблемы проектирования в рамках некоторого часто возникающего контекста. Паттерны проектирования представляют собой обобщение опыта профессиональных разработчиков ПО. Паттерн проектирования можно рассматривать как некий шаблон, в соответствии с которым пишут программы.

Читать далее