Событие Onclick: переход на страницу текущей вкладки при нажатии контекстного меню браузера (в надстройке FF) - PullRequest
0 голосов
/ 20 мая 2019

Я создаю надстройку Firefox, которая добавляет опцию в контекстное меню браузера. Когда пользователи щелкают в контекстном меню, должен открываться определенный веб-сайт (на той же вкладке).

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

  1. Работает ли приведенный ниже код?
  2. Нужны ли какие-либо специальные разрешения, предоставленные в manifest.json при использовании onClicked?

К вашему сведению: финальная функциональность дополнения должна быть более сложной, чем описанная выше. Вышесказанное - только первая проблема, которую мне нужно решить. Для простоты и ясности я пока щадлю детали.

Спасибо!

browser.menus.create({
id: "openSelection",
title: "Open selection in PhoneTool",
contexts: ["selection"]
});

browser.menus.onClicked.addListener(function(info, tab) {
if (info.menuItemId == "open-selection") {
onclick="location.href='http://hsv.de/';"
//define action here that should occur when "open-selection" is clicked
}
});

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

1 Ответ

0 голосов
/ 20 июня 2019

Ответы на ваши вопросы:

  1. Нет, ваш код не будет работать.Это создаст контекстное меню, и меню появится при выборе текста.Но с этим кодом веб-страница не будет открываться при щелчке элемента меню.
  2. Вам не нужно никаких дополнительных разрешений для использования события onClicked.

Вы должны создатьВкладка с URL-адресом веб-страницы / веб-сайта для загрузки этой страницы в браузере.

browser.menus.onClicked.addListener(function(info, tab) {
  if (info.menuItemId == "log-selection") {
    browser.tabs.create({
        url: "http://hsv.de/"
    })
  }
});

Вам необходимо разрешение "tabs" , чтобы использовать API вкладок,Поэтому вы должны включить его в свой файл manifest.json.

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