Pergunta

supor, temos um aplicativo Mozilla Prism como XULRunner. Há uma janela XUL com um elemento , onde os shows navegador uma página da Web em um determinado domínio (por exemplo, example.com).

Agora, existem vários links em example.com. Se um usuário segue um link local (ou seja, permanece no example.com) que devem ser autorizados a seguir. Se, por outro lado, o link vai para elpmaxe.moc, deve haver (eu não me importo) qualquer uma dessas duas possibilidades:

  • O navegador "real" abre (assim como em Prism), ou
  • nada acontece.

Todas as ideias hwo fazer isso? Não é suficiente para o uso browser.document.onload ou DOMready ou tais eventos, porque a ligação tem de ser bloqueado com segurança, mesmo durante o carregamento da página (ou seja, quando nenhum desses eventos disparados até o momento).

Foi útil?

Solução

Parece que você quer funcionalidade semelhante à fornecida por BlockSite - exceto você quiser whitelist domínio e bloco do aplicativo tudo o resto. Há alguma documentação MDC em instalação de extensões dentro xulrunner que podem ajudar.

Como alternativa, você poderia ter um olhar através do código-fonte e tentar descobrir onde ele conecta - isto iria deixá-lo implementar um comportamento alternativo para apenas bloquear e evitar o transporte uma extensão com seu aplicativo. Eu acho que BlockSite.js é o arquivo de chave, parece que o manipulador é adicionado here (line 171):

var observerService = Components.classes["@mozilla.org/observer-service;1"].getService(Components.interfaces.nsIObserverService);
observerService.addObserver(BlockSiteObserver, "http-on-modify-request", false);

A função BlockSiteObserver é definido no código logo acima.

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