Добавление текста в буфер обмена на JavaScript

Необходимо скопировать в буфер обмена некий текст. Задача осложнаяется тем, что браузеры позволяют скопировать в буфер, в целях безопасности только программно выделенный текст. Т.е. не получится скопировать в буфер любой текст, а возможно только тот, который находится в тегах типа input, textarea и т.п.

Решение:

Работать будет только в сборках браузеров старше 2015года!

  1. Выводим на странице скрытый текстовый блок
  2. По нажатию кнопки «Скопировать», показываем этот блок. К сожалению иначе выделение не работает, приходится показывать.
  3. Заносим в этот блок текст необходимый для копирования в буфер
  4. Программно выделяем текст
  5. Убираем с глаз долой этот текстовый блок.

Как показывает практика при умелом «прятаньи» этого блока в тексте страницы, пользователь ничего не замечает.

Пример кода:

Синхронная загрузка ajax при использовании jQuery

Задача: строго последоватально подгрузить код на страницу.

Решение:

Конечно это считается не правильным подходом, т.к. в целом замедляет загрузку страницы. Однако в некоторых случая это просто необходимо. Например, когда нужно получить некое значение из загружаемого участка, а участок не понятно, уже подгрузился или еще нет.

Берём данные мониторинга с сервера Астры через сокеты

Задача: вытянуть на веб страницу данные по текущему битрейту каналов на карте с мониторинга на сервере астры.

Удачно сложилось, что сам «штатный» мониторинг сервера обменивается между своим ядром и веб страницей через соединение websocets. Это можно использовать, написав свой сервис «цепляющийся» к астре и получающий данные. » Читать далее

Библиотека для работы с графикой на JavaScript

Последнее время активно работаю с библиотекой fabric.js, для работы с графикой на JavaScript, а именно делаю «редактор муфт»:

Снимок экрана из 2015-07-28 10:13:49

Библиотека позволяет на холсте canvas работать с графикой как с объектами: выделять, изменять, назначать обработчики событий (выделение, клик, перемещение и т.п.) для каждого объекта. Ну и еще много всего. В то-же время она достаточно проста в освоении.

Однако приведу несколько моментов, на которые пришлось потратить время, что-бы разобраться:

1) Перебор всех объектов в canvas:

2)  Для очистки canvas от всех объектов:

3) Закраска объекта градиентом:

4) Назначение событий:

Курсор в конец textarea

Например у вас в textarea длинный текст. Вам необходимо отобразить конце скролла.

1 6 7 8 9 10