Ir para conteúdo
Fórum Script Brasil

Pesquisar na Comunidade

Mostrando resultados para as tags ''playlist''.

  • Pesquisar por Tags

    Digite tags separadas por vírgulas
  • Pesquisar por Autor

Tipo de Conteúdo


Fóruns

  • Programação & Desenvolvimento
    • ASP
    • PHP
    • .NET
    • Java
    • C, C++
    • Delphi, Kylix
    • Lógica de Programação
    • Mobile
    • Visual Basic
    • Outras Linguagens de Programação
  • WEB
    • HTML, XHTML, CSS
    • Ajax, JavaScript, XML, DOM
    • Editores
  • Arte & Design
    • Corel Draw
    • Fireworks
    • Flash & ActionScript
    • Photoshop
    • Outros Programas de Arte e Design
  • Sistemas Operacionais
    • Microsoft Windows
    • GNU/Linux
    • Outros Sistemas Operacionais
  • Softwares, Hardwares e Redes
    • Microsoft Office
    • Softwares Livres
    • Outros Softwares
    • Hardware
    • Redes
  • Banco de Dados
    • Access
    • MySQL
    • PostgreSQL
    • SQL Server
    • Demais Bancos
  • Segurança e Malwares
    • Segurança
    • Remoção De Malwares
  • Empregos
    • Vagas Efetivas
    • Vagas para Estágios
    • Oportunidades para Freelances
  • Negócios & Oportunidades
    • Classificados & Serviços
    • Eventos
  • Geral
    • Avaliações de Trabalhos
    • Links
    • Outros Assuntos
    • Entretenimento
  • Script Brasil
    • Novidades e Anúncios Script Brasil
    • Mercado Livre / Mercado Sócios
    • Sugestões e Críticas
    • Apresentações

Encontrar resultados em...

Encontrar resultados que...


Data de Criação

  • Início

    FIM


Data de Atualização

  • Início

    FIM


Filtrar pelo número de...

Data de Registro

  • Início

    FIM


Grupo


AIM


MSN


Website URL


ICQ


Yahoo


Jabber


Skype


Location


Interests

Encontrado 1 registro

  1. Ola! Não manjo em nada em script, mas tentei criar com as IAs um script que adicione um campo de pesquisa quando for adicionar um vídeo nas minhas playlists, como tenho muitas, às vezes tenho que ficar rolando a barra por um bom tempo até encontrar a ideal para o conteúdo conforme o assunto, mas nenhum deu certo. Estou usando a extensão Tampermonkey (Firefox). Segue o script que a IA criou e a imagem como desejo que fique esse projeto. Se alguém conseguir ajudar com essa ideia, fico grato. // ==UserScript== // @name YouTube - Pesquisa no Menu de Salvar Playlist // @namespace http://tampermonkey.net/ // @version 1.1 // @description Adiciona um campo de pesquisa no menu "Salvar em..." para filtrar playlists rapidamente. // @author Voce // @match https://www.youtube.com/* // @icon https://www.google.com/s2/favicons?sz=64&domain=youtube.com // @grant none // ==/UserScript== (function() { 'use strict'; // --- Configurações de CSS --- // Usamos variáveis nativas do YouTube para que o estilo se adapte automaticamente ao tema Escuro/Claro const SEARCH_STYLES = ` #yt-playlist-search-container { padding: 8px 16px; border-bottom: 1px solid var(--yt-spec-10-percent-layer); display: flex; align-items: center; } #yt-playlist-search-input { width: 100%; background-color: var(--yt-spec-general-background-a); border: 1px solid var(--yt-spec-10-percent-layer); color: var(--yt-spec-text-primary); padding: 8px 10px; border-radius: 2px; font-size: 1.4rem; font-family: "Roboto","Arial",sans-serif; outline: none; } #yt-playlist-search-input:focus { border-color: var(--yt-spec-call-to-action); } /* Ícone de lupa (opcional, para ficar igual à imagem de exemplo) */ .search-icon-wrapper { position: absolute; right: 30px; pointer-events: none; color: var(--yt-spec-text-secondary); display: flex; align-items: center; } `; // Injeta os estilos na página const styleSheet = document.createElement("style"); styleSheet.innerText = SEARCH_STYLES; document.head.appendChild(styleSheet); // --- Função principal de filtragem --- function filterPlaylists(searchText) { // Seleciona todos os itens de playlist na lista const playlistItems = document.querySelectorAll('ytd-add-to-playlist-renderer ytd-playlist-add-to-option-renderer'); searchText = searchText.toLowerCase(); playlistItems.forEach(item => { // Tenta encontrar o elemento que contém o texto do título da playlist // O seletor pode variar ligeiramente, #checkbox-label ou #label-text costumam funcionar const titleElement = item.querySelector('#checkbox-label, #label-text'); if (titleElement) { const titleText = titleElement.textContent.trim().toLowerCase(); // Se o texto da pesquisa estiver contido no título, mostra, senão, esconde if (titleText.includes(searchText)) { item.style.display = ''; // Reseta para o padrão (geralmente flex ou block) } else { item.style.display = 'none'; } } }); } // --- Função para criar e inserir a barra de pesquisa --- function insertSearchBar(container) { // Verifica se já não inserimos a barra antes para evitar duplicatas if (container.querySelector('#yt-playlist-search-container')) return; // O elemento que contém a lista real de playlists const listContainer = container.querySelector('#playlists'); if (!listContainer) return; // Cria o container da pesquisa const searchWrapper = document.createElement('div'); searchWrapper.id = 'yt-playlist-search-container'; // Cria o input const inputField = document.createElement('input'); inputField.id = 'yt-playlist-search-input'; inputField.type = 'text'; inputField.placeholder = 'Pesquisar playlist...'; inputField.autocomplete = 'off'; // Adiciona o evento de digitação inputField.addEventListener('input', (e) => { filterPlaylists(e.target.value); }); // (Opcional) Adiciona ícone de lupa para ficar igual à imagem const iconWrapper = document.createElement('div'); iconWrapper.className = 'search-icon-wrapper'; iconWrapper.innerHTML = '<svg viewBox="0 0 24 24" preserveAspectRatio="xMidYMid meet" focusable="false" style="pointer-events: none; display: block; width: 20px; height: 20px;" class="style-scope yt-icon"><g class="style-scope yt-icon"><path d="M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z" class="style-scope yt-icon"></path></g></svg>'; // Monta a estrutura searchWrapper.appendChild(inputField); searchWrapper.appendChild(iconWrapper); // Insere o campo de pesquisa logo ANTES da lista de playlists listContainer.parentNode.insertBefore(searchWrapper, listContainer); // Tenta focar no input automaticamente quando abre setTimeout(() => inputField.focus(), 100); } // --- O Observador (Vigia) --- // Como o menu do YouTube abre dinamicamente, precisamos vigiar o DOM const observerCallback = function(mutationsList, observer) { for(const mutation of mutationsList) { if (mutation.type === 'childList') { // Verifica se nós foram adicionados mutation.addedNodes.forEach(node => { // O container principal do menu de playlists geralmente é este: if (node.tagName && node.tagName.toLowerCase() === 'ytd-add-to-playlist-renderer') { // Encontrou o menu, hora de inserir a barra insertSearchBar(node); } // Em algumas versões do layout, pode ser necessário procurar dentro de um container maior else if (node.nodeType === 1 && node.querySelector('ytd-add-to-playlist-renderer')) { insertSearchBar(node.querySelector('ytd-add-to-playlist-renderer')); } }); } } }; // Inicia o observador no corpo da página // Usamos subtree: true para detectar mudanças profundas na estrutura const observer = new MutationObserver(observerCallback); observer.observe(document.body, { childList: true, subtree: true }); })();
×
×
  • Criar Novo...