Расширение Chrome - начальная точка - PullRequest
2 голосов
/ 31 августа 2011

Где я могу найти пример кода расширения Chrome, который показывает текущий адрес во всплывающем окне?

Спасибо. Рон

Ответы [ 3 ]

1 голос
/ 31 августа 2011

Попробуйте этот код в вашем всплывающем окне, он работает для меня (Google Chrome 14-бета):

chrome.windows.getCurrent(function(window) {
    chrome.tabs.getSelected(window.id, function(tab) {
        console.log(tab);
        console.log(tab.url); // url of the current tab
    });
});

Для получения дополнительной информации проверьте: http://code.google.com/chrome/extensions/tabs.html#method-getSelected

1 голос
/ 31 августа 2011

Документация: http://code.google.com/chrome/extensions/getstarted.html
Образцы: http://code.google.com/chrome/extensions/samples.html

Это официальная документация и пример кода для расширений Google Chrome.В вашем манифесте вы хотите объявить всплывающее окно для действия страницы или браузера (в зависимости от того, что лучше подходит вашему расширению).В вашем всплывающем HTML-файле вы, вероятно, хотите что-то вроде следующего:

<!DOCTYPE HTML>
<html>
    <head>
        <script type="text/javascript">
            function initPopup() {
                chrome.tabs.getSelected(null, function (tab) {
                    document.body.appendChild(document.createTextNode(tab.url));
                });
            }
        </script>
    </head>
    <body onload="initPopup();"></body>
</html>

Это очень просто добавляет URL выбранной вкладки к телу всплывающего окна.

Ваш манифест должен выглядетьследующее;

{
    "name": "My First Extension",
    "version": "1.0",
    "description": "The first extension that I made.",
    "browser_action": {
        "default_icon": "icon.png",
        "default_popup": "popup.html"
    },
    "permissions": [
        "tabs"
    ]
}

Структура файла для этого примера представляет собой отдельную папку, содержащую manifest.json, popup.html и icon.png.

на странице расширений (chrome: //расширений) вы должны нажать Загрузить распакованное расширение ... и перейти к этой папке.Если вы вносите какие-либо изменения в манифест, обязательно щелкните ссылку Обновить , чтобы получить эти изменения.

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

РЕДАКТИРОВАТЬ: Добавлен отсутствующий аргумент null в коде и включены пример манифеста и структура файла на основе дополнительной информации, собранной из комментариев.

0 голосов
/ 31 марта 2015

Похоже, что все эти ответы устарели, так что вот пример манифеста 2. Вам понадобится jQuery для этого примера. Я включил все файлы в гист .

manifest.json

{
  "manifest_version": 2,

  "name": "Hello World",
  "version": "1.0",

  "author": "Christian Juth",

  "browser_action": {
    "default_icon": "icon.png",
    "default_popup": "popup.html"
  },

  "permissions": [
    "activeTab"
  ]
}

popup.html

<!doctype html>
<html>
  <head>
    <title>Hello World</title>
    <script src="jquery.js"></script>
    <script src="popup.js"></script>
  </head>
  <body>

    <span id="address"></span>

  </body>
</html>

popup.js

$(document).ready(function(){

  //define query
  var query = { active: true, currentWindow: true };

  //query tabs
  chrome.tabs.query(query, function (tabs) {
    currentAddress = tabs[0].url;
    $('#address').text(currentAddress);
  });

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