Расширение Chrome для закладок – отображение пути папки для каждой закладки в результатах поиска.

Вопрос или проблема

Нужен способ (расширение для Chrome?), чтобы сделать следующее:

  1. когда вы ищете в закладках Chrome (браузер) определённое слово или фразу,
  2. результат поиска показывает вам соответствующие закладки,
  3. и рядом с каждой закладкой вы можете увидеть путь к её папке (под “путём к папке” мы понимаем путь в дереве закладок).

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

иллюстрация того, как должен выглядеть вывод или пользовательский интерфейс

Если вы знаете, как это сделать, пожалуйста, поделитесь. Спасибо.

Ответ или решение

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

Шаги по созданию расширения Chrome для отображения пути папки закладок:

1. Установка окружения для разработки:

  • Убедитесь, что у вас установлены Google Chrome и текстовый редактор (например, Visual Studio Code).
  • Создайте новую папку для вашего расширения, например bookmark-path-ext.

2. Создание структуры файлов:

  • В папке вашего расширения создайте следующие файлы:
    • manifest.json — для описания расширения.
    • popup.html — для интерфейса всплывающего окна.
    • popup.js — для логики обработки закладок.

3. Наполнение файла manifest.json:

{
  "manifest_version": 3,
  "name": "Bookmark Path Viewer",
  "version": "1.0",
  "description": "Displays folder path for bookmarks in search results.",
  "action": {
    "default_popup": "popup.html",
    "default_icon": "icon.png"
  },
  "permissions": ["bookmarks", "activeTab"]
}

4. Создание пользовательского интерфейса в popup.html:

<!DOCTYPE html>
<html>
<head>
  <title>Bookmark Path Viewer</title>
  <style>
    body { font-family: Arial, sans-serif; }
    .bookmark-item { margin: 5px 0; }
  </style>
</head>
<body>
  <input type="text" id="search" placeholder="Введите текст для поиска..." />
  <div id="results"></div>

  <script src="popup.js"></script>
</body>
</html>

5. Реализация логики в popup.js:

document.getElementById('search').addEventListener('input', function() {
  const searchString = this.value.toLowerCase();
  chrome.bookmarks.getTree(function(bookmarkTreeNodes) {
    const results = [];
    findBookmarks(bookmarkTreeNodes, searchString, '', results);
    displayResults(results);
  });
});

function findBookmarks(bookmarkNodes, searchString, path, results) {
  for (let node of bookmarkNodes) {
    if (node.url) {
      if (node.title.toLowerCase().includes(searchString)) {
        results.push({ title: node.title, url: node.url, path: path + node.title });
      }
    } else if (node.children) {
      findBookmarks(node.children, searchString, path + node.title + ' > ', results);
    }
  }
}

function displayResults(results) {
  const resultsDiv = document.getElementById('results');
  resultsDiv.innerHTML = '';
  results.forEach(bookmark => {
    const div = document.createElement('div');
    div.className = 'bookmark-item';
    div.innerHTML = `<a href="${bookmark.url}" target="_blank">${bookmark.title}</a> <span>(${bookmark.path})</span>`;
    resultsDiv.appendChild(div);
  });
}

6. Установка и тестирование расширения:

  • Откройте Chrome и перейдите к chrome://extensions/.
  • Включите “Режим разработчика” (Developer mode) в правом верхнем углу.
  • Нажмите на кнопку “Загрузить распакованное” (Load unpacked) и выберите папку, где вы храните ваше расширение.
  • Теперь вы сможете тестировать расширение, открыв его popup и введя текст для поиска.

Заключение

Создание расширения для отображения пути папки закладок в результатах поиска — это полезный и интересный проект. Следуя описанным шагам, вы сможете разработать функциональное расширение, которое отвечает вашим требованиям. Если у вас возникнут вопросы или потребуется помощь, не стесняйтесь обращаться к сообществу разработчиков или профессионалам в этой области. Удачи!

Оцените материал
Добавить комментарий

Капча загружается...