Pergunta

É possível que o javascript você escreve para um componente XUL para interagir com o javascript definida em uma página da Web?

Por exemplo, se uma página web em particular tem uma função dooSomethingNeat (), eu posso ter um botão definido em um XUL Overlay executar essa função, ou será que viver em outro namespace?

Dito de outra forma: se eu estou olhando para melhorar a funcionalidade de um website através do meu próprio código, isso faz mais sentido para escrever uma extensão do Firefox ou usar algo como Greasemonkey

Foi útil?

Solução

Consulte minha resposta a outra pergunta aqui .

  • O código de página faz vivo em um 'namespace' separar os âmbitos as executa o código do navegador no.
  • Não significa que você não pode acessá-lo a partir de uma extensão, no entanto.
  • Por outro lado, executando uma função em uma página de conteúdo não é muito fácil de fazer de forma segura nesse momento.
  • scripts Greasemonkey (e scripts ubiquidade, o que pode também interagir com páginas da web) são um pouco mais fácil de desenvolver do que extensões, e Greasemonkey já implementa as precauções de segurança necessárias para permitir que você interage com páginas da Web com segurança.
  • Se você quer que os outros a usar o seu script, embalagem-lo como uma extensão de autônomo diminui a barreira de entrada (no outro caso, os usuários GM existentes podem preferir roteiros mais simples GM para uma extensão separada).

Então, se você pode implementar o que você precisa fazer com um script GM ou um script de onipresença, eu diria que ir com ele. Pelo menos você pode começar com ele, em seguida, converter para um ramal quando você encontrar algo que você não pode fazer com GM.

Se você precisar de recursos não suportados pelo Greasemonkey ou se você só quer tentar criar uma extensão, também é uma opção viável.

Outras dicas

Há um Greasemonkey-to-firefox-extensão "compilador" disponível, mas não é up-to-date com as últimas alterações GM.

No entanto, ele tem a estrutura básica GM para a página de interação e de segurança, tudo embrulhado como uma extensão independente, pronto para que você possa modificar e ampliar.

O tempo que a extensão uso independente ou GM-script depende de quem vai instalar este. Será que a base de usuários estar dispostos a instalar GreaseMonkey, então o script? Ou é a extensão sozinho o suficiente de uma barreira de instalação?

A licença GM não permite a reembalagem-lo com scripts pré-definidos, creio eu, mas eu não consigo encontrar para trás as citações para isso, no momento.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top