Как изменить URL активной вкладки в расширении Chrome - PullRequest
0 голосов
/ 14 ноября 2018

Я узнаю, как разработать расширение Chrome, и я не могу найти, как на самом деле изменить активный URL.Я хотел бы получить информацию с веб-сайтов и упаковать их.

На самом деле первые строки этого кода работают.Я пробовал разные способы изменить URL, не могу найти правильный ...

$("body").css('background-color', 'pink');
$("body").html('COUCOU');
setTimeout(function(){ 
      var myNewUrl = "http://www.google.com";
      chrome.tabs.update(active, {url: myNewUrl});
}, 2000);;

Мой манифест:

{
  "name": "A browser action with a popup that changes the page color",
  "description": "Change the current page color",
  "version": "1.0",
  "permissions": [
    "activeTab", "tabs"
  ],
  "browser_action": {
      "default_title": "Set this page's color.",
      "default_icon": "icon.png",
      "default_popup": "popup.html"
  },
   "content_scripts": [ {
    "js": [ "jquery.js", "background.js" ],
    "matches": [ "http://*/*", "https://*/*"]
  }],
  "manifest_version": 2,
  "content_security_policy": "script-src 'self' https://ajax.googleapis.com; object-src 'self'"
}

Может ли кто-нибудь мне помочь?

1 Ответ

0 голосов
/ 14 ноября 2018

Давайте посмотрим на подпись tabs.update метода в документах :

chrome.tabs.update(integer tabId, object updateProperties, function callback)

целое число (необязательно) tabId
По умолчанию выбрана вкладка текущего окна.

объект updateProperties
[...]

Поскольку вам нужна текущая (выбранная) вкладка, вы можете просто опустить tabId - он помечается как необязательно.

chrome.tabs.update({url: myNewUrl});

Из скрипта контента ситуация иная. У вас нет доступа к chrome.tabs API .

Но вы можете просто изменить свойства document, поскольку вы уже находитесь в контексте активной страницы:

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