Загрузить JQuery в расширение Chrome? - PullRequest
27 голосов
/ 09 февраля 2011

Я пытаюсь загрузить JQuery в свое расширение Chrome и сделать его равным объекту, но мне интересно, как мне это сделать?в основном я хотел бы что-то вроде ...

jQuery = loadLibraries("jquery-1.4.2.min.js");

Как бы я это сделал?

edit: я встраиваю в контентный скрипт.

Ответы [ 4 ]

50 голосов
/ 09 февраля 2011

Вы можете просто поместить jquery.js в папку расширений и включить его в манифест:

{
  "name": "My extension",
  ...
  "content_scripts": [
    {
      "matches": ["http://www.google.com/*"],
      "css": ["mystyles.css"],
      "js": ["jquery.js", "myscript.js"]
    }
  ],
  ...
}

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

11 голосов
/ 26 августа 2011

Вы можете сделать это из скрипта в вашем background_page HTML:

chrome.browserAction.onClicked.addListener(function(tab) {
  chrome.tabs.executeScript(null, { file: "jquery.min.js" }, function() {
    chrome.tabs.executeScript(null, { file: "content_script.js" });
  });
});

Тогда в content_script.js делайте что хотите:

  $('#header').hide();

Обратите внимание, что даже если на страницу, в которую вы вставили, уже загружен jQuery, вы все равно запускаете собственный экземпляр объекта jQuery, который обращается к странице через DOM. (Документ).

5 голосов
/ 14 ноября 2014
"content_scripts": [ {
    "matches": ["http://*/*"],
    "js": ["jquery.min.js"]
} ]
3 голосов
/ 09 февраля 2011

Проверьте ответ по jdc здесь в этой же теме.

Редактировать: этот ответ был довольно старым и больше не отражал текущую практику. Спасибо за внимание.

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