Como posso fazer com que uma guia no Firefox acredite falsamente que ainda tem o foco?

27

No Firefox, gostaria de passar para outra guia enquanto um anúncio está sendo reproduzido na guia atual, mas a coisa traquina será pausada quando a guia perder o foco.

Gostaria de enganar o anúncio para acreditar que ele ainda tem o foco, para continuar em exibição, para que não precise esperar que ele termine.

Como posso fazer com que uma guia do Firefox acredite falsamente que ainda tem o foco?

Você pode assumir que a página está usando as técnicas descritas aqui . window.onfocuse window.onblurprovavelmente são usados. Não me lembro exatamente onde eu precisava disso quando fiz a pergunta; isso não é necessariamente usado para enganar anúncios. Estou procurando uma solução genérica.

alecail
fonte
@harrymc Javascript apenas está ok.
alecail
1
Precisa de um URL de demonstração para fornecer conselhos úteis.
harrymc

Respostas:

15

Como você não forneceu detalhes do site, aqui está uma solução que você pode tentar.

  • Instale a extensão Greasemonkey para permitir que você execute JavaScripts do usuário nos sites de sua escolha.
  • Instale o script de usuário Always on focus .

    Resumo do script: Algumas páginas verificam a propriedade document.hidden e não renderizam conteúdo, a menos que a página esteja em foco. Esse script fará com que eles pensem que estão em foco, para que você possa pré-carregá-los em uma guia e visitá-los quando o carregamento terminar.

  • Configure o script para sites específicos, conforme desejado, durante a instalação (ou posterior).
MK
fonte
3
Eu testei o Aways sempre em foco com esse outro script que registra o console se a tela estiver sendo focada (usando jquery): jsfiddle.net/ScKbk Não funciona , me corrija se estiver errado. Atualmente testando no Chrome v63 MacOS Sierra
David Lopez
2

Você precisa criar um script de usuário. Estes são javascripts que são executados no Firefox (ou Chrome) e manipulam sites específicos.

Ferramentas como Greasemonkey ( http://www.greasespot.net ) podem ser usadas para isso. Pode haver um já disponível em http://userscripts.org .

Mas como o @harrymc já comentou, um URL de exemplo seria útil.

Chenmunka
fonte
2

Eu vou responder a pergunta que eu acho que você está significando para perguntar.

O que você quer fazer é executar o Flash em segundo plano quando você perder o foco. Esse é um grande problema com jogos inativos baseados em Flash, e a seguir estão alguns bits do Manual de Administração do Flash da Adobe que devem fazer com que as coisas funcionem quando você não estiver focado.

Local do arquivo mms.cfg Supondo uma instalação padrão do Windows, o Flash Player procura o arquivo mms.cfg nos seguintes diretórios do sistema:

• Windows de 32 bits -% WINDIR% \ System32 \ Macromed \ Flash

• Windows de 64 bits -% WINDIR% \ SysWow64 \ Macromed \ Flash

O que você deseja fazer é criar esse arquivo mms.cfg (você precisará de acesso de administrador, natch) com as seguintes linhas:

ProtectedMode = 0

FullFramerateWhenInvisible = true

Lembro-me de que a desativação do modo protegido era necessária, mesmo que seu objetivo declarado seja o sandbox de aplicativos Flash - por qualquer motivo, a outra opção não funcionou sem ele. YMMV, é claro - experimente sem desativar o modo protegido primeiro - já faz muito tempo que eu o configurei em meus computadores.

FullFramerateWhenInvisible é a opção que faz com que o Flash seja executado quando a janela não estiver focada.

Mais uma vez, essa não é a pergunta específica que você fez, mas se não for a resposta certa, enviará pelo menos na direção certa. :)

Referência: Guia do administrador: http://www.adobe.com/devnet/flashplayer/articles/flash_player_admin_guide.html

Truque de taxa de quadros: http://tukkun.webs.com/ (atualmente nº 3 na página da web)

Epsilon
fonte
1
Eu não uso o Windows, e a pergunta não está relacionada ao Flash.
Alecail #
Como nota de rodapé, o caminho do mms.cfg no linux é / etc / adobe / e / Library / Application Support / Macromedia no OSX.
Shadok
0

Bem, acho que você realmente não pode fazer nada para manter o foco.
Você pode tentar modificar o site ou abrir a página em uma nova janela para ver se funciona.
Se você souber codificar em C ++ / C #, pode tente focar no firefox sempre que estiver perdendo o foco ou apenas focar sem parar, não é tão difícil e se você quiser o código, posso escrever um para você.
Também existe uma maneira de modificar o registro, mas não sei se ele realmente funcionará para você ou não.
Aqui estão as instruções:

  1. Abra o regedit por Win+ Rou digite-o na caixa de pesquisa do menu Iniciar
  2. No regedit, vá para HKEY_CURRENT_USER> Painel de controle> Área de trabalho
  3. Edite "ForegroundLockTimeout", o tipo de chave é DWORD (Hexadecimal) e o padrão é 30d40 (200000) milissegundos

não esqueça de exportar a chave para fazer um backup antes de editá-lo

ou você pode usar este programa chamado Tweak UI, mas não tenho certeza de que funcione corretamente, pois foi criado para o Windows XP

poqdavid
fonte