16

Вопрос по jquery, javascript – Расширение Google Chrome Манипулировать DOM открытой или текущей вкладки

Хорошо, JavaScript / jQuery, я понял, я могу работать с этим, чтобы делать то, что я хочу в целом. Однако в настоящее время я пытаюсь работать с DOM вкладки open / current, и мне интересно, возможно ли это или все, что я делаю с расширением, ограниченным html, я предоставляю ему фон & quot; .html & Quot; или эквивалент.

Для сегодняшней попытки нанести удар по расширению Google я хочу взять изображения на странице и сохранить их в массиве, чтобы создать эффект слайд-шоу, подобный эффекту, через панель, которую я хочу добавить в нижней части страницы, добавляя ее к существующий DOM открытой / текущей вкладки. Затем я хочу "скрыть" элементы в DOM, пока бар закрыт.

Итак, мой первый вопрос: возможно ли что-то подобное, могу ли я манипулировать DOM таким образом и читать из него.

  • Другая вещь, к которой у скриптов контента нет доступа на странице - это cssRules.

    от
  • Дам, твое право (как обычно;) ... Я уверен, что ты не мог однажды, и именно поэтому я написал это ...stackoverflow.com/questions/9320982/…

    от
  • @PAEzconsole.log(document.styleSheets[1].cssRules[0].selectorText); показывает одинаковые результаты для скриптов содержимого и обычных страниц (null всегда возвращается, когда таблица стилей имеет другое происхождение).

    от
  • Если это имело место в 2012 году, это плохо. Если это так в 2016 году, то это очень и очень плохо!

    от Gavriel
  • code.google.com/chrome/extensions/tabs.html посмотрите на executeScript

    от Gavriel
  • @ Гавриил документация расширений дерьмо. Я полагаю, именно поэтому все спрашивают примерно одинаково в stackoverflow

    от Despertaweb
  • 28

    Сценарии содержания сценарии, которые выполняются в среде между страницей и расширением Chrome. Эти скрипты загружаются при каждой загрузке страницы и имеютfull access to the page's DOM, Методы DOM, такие какdocument.getElementById() вести себя так, как будто они были частью страницы.

    Глобальныйwindow объекты (в том числеframes а такжеHTMLIFrameElement.contentWindow) являются единственными объектами, которые не являютсяdirectly читается контент-скриптами.

    Сценарии содержимого запускаются на каждой странице какопределено в файле манифеста, Укажитеобразец соответствия на"content_scripts" раздел, чтобы определить, на каких страницах должен выполняться скрипт содержимого. Также добавьте этот шаблон к"permissions" раздел, чтобы разблокировать возможность изменять DOM страницы.

    Note: Тольконекоторые изchrome.* APIs, могут быть использованы этими сценариями (такими какchrome.extension.sendRequest общаться сфоновая страница).

    Вbackground pageDOM страницы не доступен напрямую. Вы можете ввести сценарии в произвольной вкладке, используяchrome.extension.executeScript, но вы не сможете получитьdirect ссылка на элемент. Для этого требуются скрипты контента.