Firefox Плагин: Изменить фон всех сайтов
Приветствую! Для создания данного плагина я бы использовал язык программирования JavaScript и библиотеку для разработки расширений Firefox WebExtensions API.
Вот пример кода, который может использоваться для создания плагина:
manifest.json:
{
"manifest_version": 2,
"name": "Background Changer",
"version": "1.0",
"description": "Changes the website background using a user-provided image URL",
"icons": {
"48": "icon.png"
},
"permissions": [
"activeTab",
"tabs",
"<all_urls>"
],
"browser_action": {
"default_icon": {
"48": "icon.png"
},
"default_title": "Change background",
"default_popup": "popup.html"
}
}
popup.html:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Background Changer</title>
<style>
body { font-family: sans-serif; }
input[type="text"] { width: 100%; }
button { margin-top: 1em; }
</style>
</head>
<body>
<form id="background-form">
<label for="background-url">Background URL:</label><br>
<input type="text" id="background-url"><br>
<button type="submit">Change background</button>
</form>
<script src="popup.js"></script>
</body>
</html>
popup.js:
function changeBackground(tab, url) {
browser.tabs.executeScript(tab.id, {
code: `
document.body.style.backgroundImage = 'url(${url})';
document.body.style.backgroundRepeat = 'repeat';
document.body.style.backgroundPosition = 'center top';
`
});
}
document.addEventListener("DOMContentLoaded", function() {
var form = document.querySelector("#background-form");
form.addEventListener("submit", function(event) {
event.preventDefault();
var input = document.querySelector("#background-url");
var url = input.value.trim();
if (!url) {
return;
}
browser.tabs.query({ active: true, currentWindow: true }).then(function(tabs) {
var tab = tabs[0];
changeBackground(tab, url);
});
});
});
Этот код создает плагин, который при нажатии на иконку плагина открывает панельку с формой для ввода URL-адреса изображения. После ввода адреса и нажатия кнопки 'Change background' плагин меняет фон всех веб-сайтов, открытых в текущем окне браузера.
Надеюсь, этот код поможет тебе создать свой плагин для Firefox!
原文地址: https://www.cveoy.top/t/topic/nseN 著作权归作者所有。请勿转载和采集!