Скрипт для выделения текста на странице браузера

Андрей10 лет в сервисе
Данные заказчика будут вам доступны после подачи заявки
14.01.2020

Нужен скрипт , который в виде 

highlight("tensorflow");будет выделять текст на странице.

  • Поиск должен работать case insensitive , то есть независимо от регистра   tensorflow или TensorFlow
  • На выделенный текст нужно вешать обработчик на  клик и на наведение. Для Обработчика по наведению нужна настраиваемая задержка перед срабатыванием
  • При клике или наведении - нужно отобразить динамический попап , который будет находится рядом с текстом в видимой части экрана.
  • Контент попапа будет генерироваться при клике , то есть для каждого выделенного слова разный - загружаясь с другого сервиса.
  • На попапе должна быть возможность закрыть его кнопкой или кликом в любом другом месте экрана.
Пример - https://prnt.sc/qnf23u

Должен работать на страницах сайтов и не ломать их работу 

https://www.linkedin.com/

http://github.com/

https://stackoverflow.com/

Нужен скрипт на чистом javascript , без применения библиотек (типа jquery) 

Заявки фрилансеров