mantiss

mantiss

Пикабушник
Дата рождения: 31 марта
2603 рейтинг 21 подписчик 28 подписок 70 постов 3 в горячем
Награды:
10 лет на Пикабу
1

Расширение для chrome. youtube на полный экран с помощью deepseek

попросил deepseek написать код для расширения chrome, которое будет автоматически переключать видео на ютуб в полный экран после 10 секунд бездействия пользователя и обратно если пошевелить мышкой. сам я не программист ни разу, поэтому путь был долог и тернист. усугубляло ситуацию периодическое "сервер занят".

сначала не получалось вообще ничего, похоже гугл заблокировал автоматическое переключение в полный экран, а deepseek самостоятельно не смог придумать пути обхода или костыли. тут уже я нашел в интернете решение - автоматически можно открывать не во весь экран, но во все окно. ну хотя бы так. ниже приведу код манускрипта манифеста и скрипт.

  1. создайте файлы manifest.json и content.js в одной папке, вставьте в них соответствующий код

  2. Перейдите в Chrome → chrome://extensions.

  3. Включите "Режим разработчика".

  4. Нажмите "Загрузить распакованное расширение" и выберите папку.

{

"manifest_version": 3,

"name": "YouTube Auto Embed",

"version": "1.4",

"description": "Умное переключение режимов с учетом паузы",

"permissions": ["storage"],

"content_scripts": [

{

"matches": [

"*://*.youtube.com/watch?v=*",

"*://*.youtube.com/embed/*"

],

"js": ["content.js"],

"run_at": "document_idle"

}

]

}

(function() {

const isWatchPage = window.location.href.includes('/watch?v=');

const isEmbedPage = window.location.href.includes('/embed/');

if (!isWatchPage && !isEmbedPage) return;

let timeoutId;

let currentVideoTime = 0;

let videoElement;

let isPaused = false;

// Общие функции

function getVideoElement() {

return document.querySelector('video');

}

function storeCurrentTime() {

if (videoElement) {

currentVideoTime = Math.floor(videoElement.currentTime);

sessionStorage.setItem('ytAutoEmbedTime', currentVideoTime);

}

}

function handleUserActivity() {

clearTimeout(timeoutId);

if (isEmbedPage) return;

if (isWatchPage && !isPaused) {

timeoutId = setTimeout(switchToEmbed, 10000);

}

}

// Для watch-страницы

if (isWatchPage) {

videoElement = getVideoElement();

if (videoElement) {

videoElement.addEventListener('play', () => {

isPaused = false;

handleUserActivity();

});

videoElement.addEventListener('pause', () => {

isPaused = true;

clearTimeout(timeoutId);

});

}

function switchToEmbed() {

if (isPaused) return;

storeCurrentTime();

const videoId = new URLSearchParams(window.location.search).get('v');

const embedUrl = `https://www.youtube.com/embed/${videoId}?autoplay=1&star...}`;

window.location.replace(embedUrl);

}

if (!isPaused) timeoutId = setTimeout(switchToEmbed, 10000);

}

// Для embed-страницы

if (isEmbedPage) {

videoElement = getVideoElement();

const storedTime = sessionStorage.getItem('ytAutoEmbedTime') || 0;

if (videoElement) {

videoElement.addEventListener('loadedmetadata', () => {

videoElement.currentTime = storedTime;

});

}

function switchToNormal() {

storeCurrentTime();

const videoId = window.location.pathname.split('/')[2];

const normalUrl = `https://www.youtube.com/watch?v=%24%7BvideoId%7D&t=%24%7...`;

window.location.replace(normalUrl);

}

const events = ['mousemove', 'keydown', 'mousedown', 'touchstart'];

events.forEach(event => {

window.addEventListener(event, () => {

if (!isPaused) switchToNormal();

});

});

if (videoElement) {

videoElement.addEventListener('play', () => {

isPaused = false;

sessionStorage.setItem('ytAutoEmbedPaused', 'false');

});

videoElement.addEventListener('pause', () => {

isPaused = true;

sessionStorage.setItem('ytAutoEmbedPaused', 'true');

});

}

}

const activityEvents = ['mousemove', 'keydown', 'scroll', 'mousedown', 'touchstart'];

activityEvents.forEach(event => {

window.addEventListener(event, handleUserActivity);

});

console.log('Extension initialized in', isWatchPage ? 'normal' : 'embed', 'mode');

})();

если кто понимает, что тут написано, можете прокомментировать по качеству

Показать полностью
0

Помогите определить

Вялил мясо, рецепт проверенный. Нитритная соль, все как надо, может чуть меньше чем по рецепту. В прошлый раз сушилось не так долго и плесени не было. В этот раз решил посушить подольше, ел прям с ветки, и на одном из последних кусков обнаружил плесень. Вроде как при таком способе приготовления(в специальном пакете для вяления) допускается образование плесени, но та ли образовалась у меня?

сфоткал поближе, может есть знатоки, помогите, можно ли есть? я, правда, уже килограмм съел, особо не приглядываясь, мож что пропустил раньше)

Показать полностью 5
1

Задачка по математике

Прислал тут сбермегамаркет промокод на 1000р на 95% оплаты, я обычно на озоне все заказываю, но от халявы отказываться не собираюсь. Заказал 2 банки пулек для пневматики по 564р. В посылке была только одна. После создания обращения, через 2 дня, вернули 64р и промокод на 200р на 50% оплаты.

Вопрос - на сколько меня наебали и наебали ли вообще?

12

Comgrow robo cnc

купил тут такой вот станочек, там стоит шпиндель на 120вт, подключен к разъему на картинке

в момент резки мотор встал, обломило фрезу. при подаче напряжения на мотор напрямую он работает. предохранитель на плате цел. все оси нормально работают. подскажите что и как проверить чтобы понять что вышло из строя?

еще хочу поменять шпиндель на другой

как считаете на плате есть выход на замыкание для внешнего питания?

и еще, для замены мотора надо ставить другую каретку и ходовой винт, который у меня есть 4х заходный в отличии от родного(2х). соответственно перемещение на оборот будет больше, я могу как-то это компенсировать? наверное можно в программе ставить величину съема материала в 2 раза меньше, а еще варианты есть?

Показать полностью 2
454

Трезвый водитель

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

Трезвый водитель

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

Показать полностью 1
Отличная работа, все прочитано!

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества