mirror of
https://github.com/GoogleChrome/chrome-extensions-samples.git
synced 2026-04-03 14:39:37 +07:00
* First draft * Update popup and options * Update comments * Update functional-samples/tutorial.broken-color/service-worker.js Co-authored-by: Sebastian Benz <sebastian.benz@gmail.com> * Add readme * Update readme --------- Co-authored-by: Sebastian Benz <sebastian.benz@gmail.com>
42 lines
1.4 KiB
JavaScript
42 lines
1.4 KiB
JavaScript
// Copyright 2023 Google LLC
|
|
//
|
|
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
// you may not use this file except in compliance with the License.
|
|
// You may obtain a copy of the License at
|
|
//
|
|
// https://www.apache.org/licenses/LICENSE-2.0
|
|
//
|
|
// Unless required by applicable law or agreed to in writing, software
|
|
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
// See the License for the specific language governing permissions and
|
|
// limitations under the License.
|
|
|
|
const changeColorButton = document.getElementById('changeColor');
|
|
|
|
// Retrieve the color from storage and update the button's style and value
|
|
chrome.storage.sync.get('color', ({ color }) => {
|
|
changeColorButton.style.backgroundColor = color;
|
|
changeColorButton.setAttribute('value', color);
|
|
});
|
|
|
|
changeColorButton.addEventListener('click', (event) => {
|
|
const color = event.target.value;
|
|
|
|
// Query the active tab before injecting the content script
|
|
chrome.tabs.query({ active: true, currentWindow: true }, (tabs) => {
|
|
// Use the Scripting API to execute a script
|
|
chrome.scripting.executeScript({
|
|
target: { tabId: tabs[0].id },
|
|
args: [color],
|
|
func: setColor
|
|
});
|
|
});
|
|
});
|
|
|
|
function setColor(color) {
|
|
// There's a typo in the line below;
|
|
// ❌ colors should be ✅ color.
|
|
document.body.style.backgroundColor = color;
|
|
}
|