Расширение Chrome с использованием боковой панели - PullRequest
15 голосов
/ 12 сентября 2011

Я смотрел на расширения Chrome и хотел бы создать расширение, которое взаимодействует с веб-страницей с помощью боковой панели.Итак, пользователь нажимает кнопку, чтобы запустить расширение, и текущая страница разделяется, причем правая часть отображает мое расширение.Я попробовал ниже, но ничего не вижу (работает или нет).Я не слишком удивлен, что это не работает, так как у меня нет файла sidebar.html для одной вещи.Причина, по которой у меня есть это в манифесте, заключается в том, что я видел это в другом посте на этом сайте.Было предложено использовать строку "sidebar" в manifest.json, но "sidebar" даже не упоминается в документации как допустимая часть синтаксиса манифеста.

manifest.json:

{
  "name": "Test 1",
  "version": "1.0",
  "description": "Test Extension 1",
  "page_action": {
    "default_icon": "icon.png",
    "default_title": "Testing",
    "default_popup": "popup.html"
   },
  "sidebar" : {},
  "permissions": [
    "experimental"
  ]
}

popup.html:

<script>
  chrome.experimental.sidebar.show();
  chrome.experimental.sidebar.expand();
  chrome.experimental.sidebar.navigate({path: "sidebar.html"});
</script>

Я включил «эксперимент».

Спасибо за любую помощь.

Ответы [ 2 ]

33 голосов
/ 13 сентября 2011

Проблема в том, что теоретически вы открываете боковую панель внутри всплывающего окна, а не на текущей странице.

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

Кроме того, как сказал Борис Смус в вашем вопросе, боковые панели будут прекращены в будущих версиях . Поэтому я советую вам создать собственную рамку боковой панели с помощью скриптов содержимого .


Обновление

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

@ Кертис размещал мой пример расширения на Github, его можно клонировать здесь .

5 голосов
/ 30 июля 2015

Я тоже искал решение для боковой панели и остановился на Реализация API chrome.sidebar thread.

Согласно Боковая панель PRD , уже можно создать боковую панель с помощью:

  1. вставка скрипта на страницу, который редактирует HTML страницы для отображения боковой панели, изменяя DOM для вставки iframe, который загружает содержимое боковой панели с удаленного сервера.
  2. внедренный скрипт может редактировать DOM напрямую для отображения боковой панели, содержимое которой передается через сообщение.

Однако есть много недостатков (объясненных в том же документе) в отношении:

Удобство использования, производительность, безопасность, конфиденциальность (отслеживание расширений, а также сторонние файлы cookie) и доступность.

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

Это может помочь в доставке функции быстрее, если вы добавите звездочку.

обновление

За этот комментарий , Chrome не получит встроенный компонент боковой панели.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...