Criar APK grátis

Estrutura do app e navegação

Scripts de usuário inteligentes

Scripts por site com correspondência de URL e momento de execução (como o Greasemonkey)

1O que são Smart User Scripts?#

Smart User Scripts são scripts individuais com nome - cada um com:
🌐 padrões de URL (em quais páginas executar)
⏱ momento de execução (antes, durante ou depois do carregamento)
✅ chave para ativar/desativar

Funcionam como o Greasemonkey ou o Tampermonkey nos navegadores de computador - mas integrados ao seu app.

✅ Perfeito para:

  • Login automático SOMENTE na página /login
  • Ocultar anúncios SOMENTE em páginas de artigos (https://news.com/article/*)
  • Observe mudanças no DOM com MutationObserver
  • Injetar antes da renderização da página (document-start) para evitar o flash

Principal diferença para a Quick Injection:
Quick Injection = o mesmo CSS/JS em TODAS as páginas
Smart User Scripts = controle por script, por URL e por momento de execução

2Onde encontrar#

Etapa 4 (Permissões) → role para baixo → cartão 🤖 Smart User Scripts.

Toque em '+ Adicionar' para criar um novo script. Cada script tem:

  • Nome - exibido na lista do gerenciador
  • Padrões de URL - um por linha (aceita o curinga *)
  • Run At - document-end / document-start / document-idle
  • Código - seu JavaScript
  • Chave de ativação

Toque em qualquer linha para editar ou excluir um script.

3Exemplos de padrões de URL#

Os padrões controlam em quais páginas o script é executado. Use * como curinga:

# Run on every page of every site
*://*/*

# Run only on example.com (any path)
https://example.com/*

# Run on ALL pages of ANY .com domain
https://*.com/*

# Run only on the /login path
https://example.com/login
https://example.com/login/*

# Run on news article pages
https://news.example.com/article/*

4Momentos de execução (Run-At) explicados#

  • document-end (padrão)

Executa DEPOIS de a página terminar de carregar. Seguro e o mais compatível. Use para ocultar elementos, adicionar botões e rastrear.

  • document-start ⚡ (avançado)

Executa ANTES de a página ser renderizada. Injeta o script no HTML bruto via shouldInterceptRequest. Remove os cabeçalhos CSP. Use para CSS de modo escuro ou para forçar o viewport antes da renderização do layout.

  • document-idle ⏱

Executa 1,5 segundo depois do carregamento da página. Bom para capturar conteúdo AJAX tardio ou modais que aparecem após um atraso.

5Exemplo 1: Login automático somente em /login#

Correspondência: https://myapp.com/login
Run-at: document-end

// Auto-fill login form
(function() {
  var email = document.querySelector('input[type=email], input[name=email]');
  var pass  = document.querySelector('input[type=password]');
  if (email) email.value = '[email protected]';
  if (pass)  pass.value  = 'mypassword';
  // Uncomment to auto-submit:
  // var form = document.querySelector('form');
  // if (form) form.submit();
})();

6Exemplo 2: ocultar paywalls em páginas de artigos#

Correspondência: https://news.site.com/article/*
Run-at: document-end

// Hide paywall overlay and restore scroll
(function() {
  var overlay = document.querySelector('.paywall-overlay, .metered-content, #paywall');
  if (overlay) overlay.remove();
  document.body.style.overflow = 'auto';
  document.documentElement.style.overflow = 'auto';
})();

7Exemplo 3: Observar conteúdo dinâmico (MutationObserver)#

Correspondência: *://*/*
Run-at: document-end
Para elementos que aparecem DEPOIS do carregamento da página (modais e anúncios com carregamento tardio):

// Remove any modal/popup that appears dynamically
(function() {
  var sel = '.modal, .popup, .overlay, [class*="modal"], [class*="popup"]';
  // Remove existing ones first
  document.querySelectorAll(sel).forEach(function(el) { el.remove(); });
  // Watch for new ones
  var obs = new MutationObserver(function() {
    document.querySelectorAll(sel).forEach(function(el) { el.remove(); });
  });
  obs.observe(document.body, { childList: true, subtree: true });
  // Stop watching after 30 s to save battery
  setTimeout(function() { obs.disconnect(); }, 30000);
})();

8Exemplo 4: Forçar o modo escuro antes da renderização (document-start)#

Correspondência: *://*/*
Run-at: document-start
Injeta CSS antes de a página ser renderizada - sem flash branco:

// Inject dark theme before page renders
(function() {
  var s = document.createElement('style');
  s.id = '__force_dark__';
  s.textContent = [
    'html { filter: invert(1) hue-rotate(180deg) !important; }',
    'img,video,canvas,svg { filter: invert(1) hue-rotate(180deg) !important; }'
  ].join('\
');
  (document.head || document.documentElement).appendChild(s);
})();

9Exemplo 5: Análise personalizada / rastreamento de eventos#

Correspondência: https://myshop.com/*
Run-at: document-idle
Envie eventos personalizados depois que a página estabilizar por completo:

// Track page views + button clicks
(function() {
  // Page view
  console.log('[Analytics] Page: ' + location.href);

  // Track all CTA button clicks
  document.querySelectorAll('button, .btn, a[href]').forEach(function(el) {
    el.addEventListener('click', function() {
      console.log('[Analytics] Clicked: ' + (el.textContent || el.href));
      // Replace with your own tracker call, e.g. gtag('event', ...)
    });
  });
})();

10Segurança e limitações#

⚡ document-start remove os cabeçalhos Content-Security-Policy da página correspondente. Use apenas em sites seus ou de total confiança.

🔒 Política de mesma origem: o JS não consegue acessar iframes de outras origens (PayPal, Stripe, login do Google). Isso é imposto pelo mecanismo do navegador e não pode ser contornado.

📵 Somente HTTPS: APIs como geolocalização ou câmera em scripts injetados exigem HTTPS.

✅ Proteção contra execução dupla: cada script é protegido por uma flag em window, então roda apenas uma vez por página.

✅ Funciona offline: os Smart User Scripts também rodam em apps offline empacotados em ZIP.

Esta página é gerada a partir do Guia de Integração dentro do próprio app, então diz exatamente o que a versão atual diz. Leia em Markdown.

Conferido com o guia atual em 22/10/2026.