30 lines
962 B
JavaScript
30 lines
962 B
JavaScript
// page_script.js - runs inside the page context
|
|
|
|
chrome.runtime.onMessage.addListener((msg, sender, sendResponse) => {
|
|
if (msg.action === "setVolume") {
|
|
const player = document.querySelector(".html5-video-player");
|
|
if (player && typeof player.setVolume === "function") {
|
|
player.setVolume(msg.volume);
|
|
} else {
|
|
const video = document.querySelector("video");
|
|
if (video) video.volume = Math.max(0, Math.min(1, msg.volume / 100));
|
|
}
|
|
sendResponse({ ok: true });
|
|
}
|
|
|
|
if (msg.action === "getVolume") {
|
|
let v = null;
|
|
const player = document.querySelector(".html5-video-player");
|
|
if (player && typeof player.getVolume === "function") {
|
|
v = player.getVolume();
|
|
} else {
|
|
const video = document.querySelector("video");
|
|
if (video && typeof video.volume === "number") {
|
|
v = Math.round(video.volume * 100);
|
|
}
|
|
}
|
|
sendResponse({ volume: v });
|
|
}
|
|
return true; // async safe
|
|
});
|