Когда я устроился на новую работу, у меня появился избыток свободного времени. При удаленном найме один и тот же шаблон для офисных и гибридных сотрудников не работает по очевидным причинам (спонтанное взаимодействие, сёрфинг и разговорные очереди). Мое свободное время было потрачено на применение метода 20% от Google, чтобы открыть для себя возможности пользовательских поисковых систем — посмотрим, стоило ли оно того.

Кто-нибудь когда-нибудь говорил: «Для этого есть приложение»? Подумайте о расширениях браузера или небольших инструментах, которые вы используете на работе, чтобы повысить продуктивность. Я собираюсь показать вам именно это, еще один инструмент, который сделает вашу жизнь проще. Представьте себе, что вы ищете видео на YouTube, не заходя сначала на домашнюю страницу. Это сэкономит вам один дополнительный шаг, который может сэкономить вам 2 секунды и СПАСТИ МИР! Я зануда, когда дело доходит до эффективности, но поиск/создание повторяемых решений любых технических неудобств — вот как рождаются инновации.

Системы пользовательского поиска позволяют нам запрашивать наиболее посещаемые веб-сайты еще до того, как мы попадем на них. Если это незнакомо, прочтите эту быструю настройку. Google Chrome — самый интуитивно понятный браузер для поисковых систем. Однако это можно сделать и в других браузерах. Прежде чем я углублюсь в использование ярлыков с помощью букмарклетов JavaScript. И еще, дополните это горячей клавишей Выбрать адресную строку. CMD + L для Mac и CTRL + L для Windows: это позволяет держать пальцы в самом удобном месте — на клавиатуре.

Создайте новый поиск по сайту, используя следующие входные данные:

  1. Поисковая система: Дублирующая вкладка
  2. Ярлык: вкладка
  3. URL-адрес с %s вместо запроса:javascript: a = document.createElement('a'); a.target = «_blank»; a.href = window.location.href; а.клик();

Наша поисковая система Дубликат вкладки запускается при вводе tab в URL-адресе и нажатии клавиши Enter. При этом запускается наш код JavaScript, определенный в URL, с %s вместо запроса. Наш код лениво создает «a» как свойство объекта окна, присваивая ему новый тег ‹a›, чтобы открыть текущий URL-адрес (window.location.href) в новой вкладке (target=”_blank”) . Теперь попробуйте сами! Вы просто продублировали текущую вкладку без единого клика!

Вот еще один базовый сценарий: вы работаете на том же сервере, что и ваш коллега, и вам нужен быстрый способ поделиться текущей страницей, на которой вы находитесь. Добавьте новый поиск по сайту с этими входными данными.

  1. Поисковая система: Копировать путь
  2. Ярлык:путь
  3. URL-адрес с %s вместо запроса:javascript: function copyPath() { var curURL = new URL(window.location.href); вар путь = curURL.pathname + curURL.search; setTimeout(async function() { await window.navigator.clipboard.writeText(decodeURIComponent(path))}, 100); }; КопироватьПуть();

Что здесь происходит? copyPath имеет две переменные: curURL и path. curURL присваивается текущему URL-адресу, а path добавляет каталог страницы плюс все параметры URL-адреса, используемые для доступа к ней. Узнайте больше о том, как работают путь и поиск, ознакомьтесь с URL Web API.

setTimeout задерживает асинхронный вызов API буфера обмена перед копированием декодированной переменной path. setTimeout необходим, поскольку объекту окна требуется время, чтобы сфокусироваться перед копированием его содержимого. Кроме того, вам нужно будет сфокусировать документ перед запуском асинхронной функции, нажав Tab на клавиатуре. Кроме того, вы можете предоставить браузеру разрешение на чтение буфера обмена, минуя необходимость нажимать клавишу Tab. Примером скопированного пути может быть…

node1?q=узел+конфигурация+настройка

Теперь вы можете разделить путь со своим коллегой! Но что, если бы ваш коллега мог указать источник URL-адреса и вставить путь без использования мыши? Я думал, ты никогда не спросишь!

  1. Поисковая система: навигация по сайту
  2. Ярлык:nav
  3. URL с %s вместо запроса: javascript: function nav() {
    const search = '%s';
    const s = search.split(' ') ;
    let url = `/${s[0]}`;
    window.location.assign(url);
    }; навиг();

navпреобразует входные данные в массив (подробнее о том, почему позже), принимает первое значение в этом массиве и использует метод assign, чтобы применить входные данные непосредственно после URL-адреса. origin(т.е. https://‹имя-сервера›.com/), что приводит к чему-то вроде этого.

https://‹имя-сервера›.com/node1?q=node+configuration+setup

Почему мы превратили входные данные в массив? Потому что мы можем использовать более одного входа! Вот очень конкретный пример использования комбинации Навигация по сайту и Дублировать вкладку. Сценарий: перейдите к таблице экземпляра ServiceNow на новой вкладке.

  1. Поисковая система:->Навигация по новой вкладке
  2. Ярлык:navt
  3. URL-адрес с %s вместо запроса:javascript: function navNewTab() { var urlObj = new URL(window.location.origin); константный поиск = ‘%s’; const s = search.split(' '); urlObj.pathname = `/${s[0]}_list.do?sysparm_query=${s[1]}LIKE${s[2]}`; if (s[0].includes('.') && !s[0].startsWith("?")) { urlObj.pathname = `/${s[0]}`; } else if (s[0].includes(';')) { urlObj.pathname = `/${s[0]}`.replace(';', '') } else if (s[0]. startWith("$") || s[0].startsWith("?")) { urlObj.pathname = `/${s[0]}.do` } else if (s.length === 1) { urlObj.pathname = `/${s[0]}_list.do`; } Возврат decodeURIComponent(urlObj.href); }; а = document.createElement("а"); a.target = «_blank»; a.href = navNewTab(); а.клик();

Это очень сложно читать, поэтому я вам расскажу. navNewTab инициализирует объект URL с именем urlObj для источника URL. Подобно nav, search определяет наши входные данные для преобразования в массив s, который используется в качестве пути по умолчанию «/${s[0]}_list. do?sysparm_query=${s[1]}LIKE${s[2]}».

  1. ${s[0]} = Таблица
  2. ${s[1]} = Цель фильтра
  3. ${s[2]} = Значение фильтра

Разделение каждого ввода пробелом позволяет JavaScript считывать каждый ввод как элемент массива, применяя его к быстрому фильтру таблицы. После того, как существует несколько условий if, я хочу сосредоточиться только на первой половине первого (if (s[0].includes('.')) для конкретной таблицы/записи/страницы в ServiceNow всегда есть точка в имени URL-адреса или свойстве поиска. Например, вот общая запись в экземпляре ServiceNow.

https://‹имя_экземпляра.service-now.com/incident.do?sys_id=de6fbba787ec71109bb5404d0ebb3574

Я выделил имя пути (incident.do) и search(sys_id=de6fbba787ec71109bb5404d0ebb3574). Eсть . символ в имени пути, чтобы мы могли аннулировать запрос таблицы по умолчанию, поскольку мы знаем, что переходим к чему-то конкретному.

Бум! Реальный пример использования пользовательских поисковых систем, сэкономивший нам много времени.

Пользовательские поисковые системы того стоят. Инвестиции возвращают мне время каждый день, пока я наблюдаю, как мои коллеги ждут 5 секунд здесь и 10 секунд там, перепечатывая вещи, которые можно автоматизировать после того, как они создадут систему и адаптируются к ней. Эта система работает для меня, я надеюсь, что вы найдете решения для ваших конкретных потребностей, используя пользовательские поисковые системы.

До новых встреч,
Эрик Андерсон