Получите URL и сохраните его | Расширение Chrome

В основном на моем окне (при нажатии на значок) он должен открыть и показать URL вкладки, и рядом с ним я хочу, чтобы он сказал, "Сохраняют", он сохранит его к localStorage, и быть отображенным ниже в сохраненную область ссылок.

Как это:

alt text

Что-то как закладки :)

30
задан Glorfindel 25 July 2019 в 21:07
поделиться

2 ответа

Если вы хотите сделать что-то подобное, это легко сделать с помощью API расширений Chrome. Искать нужно в следующих областях:

Теперь первым шагом будет создание вашего файла popup.html и помните, что он переходный, то есть он живет только тогда, когда вы нажимаете на действие браузера, а затем умирает, если он выходит (закрывается). Я пытаюсь сказать, что если у вас много вычислений и вы хотите, чтобы они происходили в фоновом режиме и происходили, даже если всплывающее окно закрыто, перенесите все на фоновую страницу. И в вашем всплывающем окне вы можете легко получить доступ к фоновой странице, используя chrome.extension.getBackgroundPage()

В вашем popup.html вам нужно получить URL текущей вкладки, для этого в Tab API есть функция "getSelected", которая позволяет вам получить объект Tab для выбранной вкладки.

Так что что-то вроде этого:

popup.html

<html>
<body>
<p id="currentLink">Loading ...</p>
<hr />
<ul id="savedLinks"></ul>
<script type="text/javascript" src="popup.js"></script>
</body>
</html>

popup.js

chrome.tabs.getSelected(null, function(tab) {
    document.getElementById('currentLink').innerHTML = tab.url;
});

Причина, по которой вы не можете поместить JavaScript код в HTML файл, заключается в ограничении Chrome для защиты пользователей от JavaScript атак:

Inline scripts and event handlers disallowed

Теперь это позволит вам показать Url во всплывающем окне для текущей страницы как действие браузера. Следующим шагом будет использование простых функций HTML5, таких как localStorage или Webdatabase (на мой взгляд, это будет лучше). Чтобы сохранить сохраненные страницы, затем вы можете отобразить их на странице savedLinks так же, как я сделал для currentLink.

Удачи!

49
ответ дан 27 November 2019 в 23:26
поделиться

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

для получения текущей вкладки используйте chrome.tabs.getSelected () . Затем, чтобы получить параметры из объекта вкладки, обратитесь к tabs api

, ваш фрагмент кода должен выглядеть так,

chrome.tabs.getSelected(null, function(tab) {
  //properties of tab object
  tabId = tab.id;
  tabUrl = tab.url;

  //rest of the save functionality.
});

вам также необходимо объявить разрешение «вкладки» в манифесте вашего расширения, чтобы использовать вкладок API. Например,

{
  "name": "My extension",
  ...
  "permissions": [
    "tabs"
  ],
  ...
}
10
ответ дан 27 November 2019 в 23:26
поделиться
Другие вопросы по тегам:

Похожие вопросы: