Напиши плагин для Firefox Плагин можно закрепить на панели инструментов Окошко плагина должно быть красивое В плагине должны быть функции выбора backgroundа по ссылке на картинку а также по ссылке на
для выбора языка (русский или английский). При выборе языка, все тексты в плагине должны меняться на выбранный язык.
Код плагина для Firefox:
// Создаем объект плагина
var myPlugin = {
// Инициализация плагина
init: function() {
// Создаем окно плагина
myPlugin.createWindow();
// Добавляем кнопки на панель инструментов браузера
myPlugin.addToolbarButtons();
// Обработчик изменения языка
var langSelect = document.getElementById("lang-select");
langSelect.addEventListener("change", function() {
myPlugin.setLanguage(langSelect.value);
});
},
// Создание окна плагина
createWindow: function() {
// Создаем div для окна плагина
var pluginDiv = document.createElement("div");
pluginDiv.id = "my-plugin";
pluginDiv.style.display = "none";
// Создаем заголовок окна плагина
var titleBar = document.createElement("div");
titleBar.className = "title-bar";
titleBar.innerHTML = "<span>My Plugin</span>";
// Создаем контент окна плагина
var content = document.createElement("div");
content.className = "content";
content.innerHTML = "<label for='bg-url'>Background URL:</label><input type='text' id='bg-url'><br><button id='apply-btn'>Apply</button> <button id='disable-btn'>Disable</button>";
// Создаем меню выбора языка
var langSelect = document.createElement("select");
langSelect.id = "lang-select";
langSelect.innerHTML = "<option value='en'>English</option><option value='ru'>Русский</option>";
// Добавляем элементы в окно плагина
pluginDiv.appendChild(titleBar);
pluginDiv.appendChild(content);
pluginDiv.appendChild(langSelect);
// Добавляем окно плагина в DOM
document.body.appendChild(pluginDiv);
},
// Добавление кнопок на панель инструментов браузера
addToolbarButtons: function() {
// Создаем кнопку для открытия окна плагина
var pluginBtn = document.createElement("button");
pluginBtn.className = "toolbar-btn";
pluginBtn.innerHTML = "<img src='icon.png'>";
// Обработчик клика по кнопке плагина
pluginBtn.addEventListener("click", function() {
var pluginDiv = document.getElementById("my-plugin");
if (pluginDiv.style.display === "none") {
pluginDiv.style.display = "block";
} else {
pluginDiv.style.display = "none";
}
});
// Добавляем кнопку на панель инструментов браузера
var navBar = document.getElementById("nav-bar");
navBar.appendChild(pluginBtn);
},
// Установка выбранного языка
setLanguage: function(lang) {
var langData = myPlugin.languageData[lang];
// Устанавливаем тексты для элементов плагина
document.querySelector("#my-plugin .title-bar span").textContent = langData.title;
document.querySelector("#my-plugin label[for='bg-url']").textContent = langData.bgUrlLabel;
document.querySelector("#my-plugin #apply-btn").textContent = langData.applyBtn;
document.querySelector("#my-plugin #disable-btn").textContent = langData.disableBtn;
},
// Данные для локализации
languageData: {
"en": {
"title": "My Plugin",
"bgUrlLabel": "Background URL:",
"applyBtn": "Apply",
"disableBtn": "Disable"
},
"ru": {
"title": "Мой Плагин",
"bgUrlLabel": "URL фона:",
"applyBtn": "Применить",
"disableBtn": "Отключить"
}
}
};
// Инициализируем плагин
myPlugin.init();
原文地址: https://www.cveoy.top/t/topic/bWMb 著作权归作者所有。请勿转载和采集!