NOTICE: By continued use of this site you understand and agree to the binding Terms of Service and Privacy Policy.
// ==UserScript== // @name copiar link repertorio enem // @namespace http://tampermonkey.net/ // @version 0.1 // @description try to take over the world! // @author LZNN // @license MIT // @match https://app.repertorioenem.com.br/exams/exam_list // @icon https://www.google.com/s2/favicons?sz=64&domain=repertorioenem.com.br // @grant none // ==/UserScript== (function() { 'use strict'; // Função para copiar o link function copiarLink(button) { // Obter o valor do atributo data-bs-exam const dataBsExam = button.getAttribute('data-bs-exam'); // Converter o JSON em um objeto JavaScript const examData = JSON.parse(dataBsExam); // Obter o link do objeto examData const link = examData.route; // Criar um elemento de input para copiar o link const input = document.createElement('input'); input.value = link; document.body.appendChild(input); // Selecionar o texto no input input.select(); input.setSelectionRange(0, 99999); // Para dispositivos móveis // Copiar o texto para a área de transferência document.execCommand('copy'); // Remover o elemento de input document.body.removeChild(input); // Exibir uma mensagem de sucesso alert('Link copiado com sucesso: ' + link); } // Encontre todos os elementos <div class="col"> const colElements = document.querySelectorAll('div.col'); // Itere sobre os elementos colElements.forEach(function(colElement) { // Encontre o botão existente com o atributo data-bs-exam const button = colElement.querySelector('button[data-bs-exam], a.btn-secondary[href*="exams/exam"]'); if (button) { // Encontre o elemento card-footer const cardFooter = colElement.querySelector('.card-footer'); // Crie um novo botão "Copiar Link" const copiarLinkButton = document.createElement('button'); copiarLinkButton.className = 'btn btn-primary mb-2'; copiarLinkButton.textContent = 'Copiar Link'; copiarLinkButton.style.width = '100%'; copiarLinkButton.addEventListener('click', function() { copiarLink(button); }); // Adicione o novo botão ao final do card-footer cardFooter.appendChild(copiarLinkButton); } }); })();