Pergunta

O Firefox possui a caixa de areia e o EvalinsAndBox (). O Chrome possui execução de sandbox em seus scripts de conteúdo (eles chamam de execução isolada). Estou procurando a mesma coisa em uma extensão do navegador do IE.

Eu posso carregar um arquivo JavaScript, depois ligar para o EvalScript (), mas o código é executado no mesmo ambiente que JavaScript que existe na página. Preciso de uma maneira de executar minha biblioteca (que inclui e é baseada no jQuery) em um ambiente de caixa de areia/isolado, mas ainda permito modificar o DOM como se estivesse em execução na página.

Jint parece promissor, mas atualmente não pode avaliar o jQuery. (Eles podem analisá -lo.)

Como posso fazer isso?

Foi útil?

Solução

Parece que você está em um picles com este.

  • Algumas pessoas da Microsoft dizem que o IE não oferece essa funcionalidade
  • Alguns que dizem que foram capazes de retirá -lo.
  • As lojas de extensão "profissional", quando contatadas sobre a construção do que você está falando, recusar o trabalho

Eu realmente gostaria de ter notícias melhores, mas parece que pode ser um pequeno milagre para realizar o que você está procurando ... ou talvez muito dinheiro. :)

Sua melhor aposta provavelmente será encontrar um dos poucos que afirmam que foram capazes de fazê -lo e pagar muito para compartilhar o segredo ou reconsiderar por que você realmente quer o que deseja e ver se não pode realizar outro caminho.

Outras dicas

Você pode achar que vale a pena olhar para o Microsoft Web Sandbox no Live Labs:http://websandbox.livelabs.com/

Embora esteja mais completamente utilizado e relacionado a mashups e similares que possam apontar na direção certa.

A coisa que você está procurando é o mecanismo ActiveScript (http://en.wikipedia.org/wiki/Active_scripting)

Eu não consigo encontrar links úteis agora, o msdn contém apenas uma definição de interfaces (http://msdn.microsoft.com/en-us/library/ccd0zt2w(v=vs.85).aspx) Tente pesquisar no Google "Script ativo" (não "script de ação"!)!)

Você precisa implementar o IACTivesCripthost interface em sua extensão, criar um objeto de «JScript», o conjunto de chamadas e passar seu objeto de host e, em seguida, carregar seu código JS nesse mecanismo e executá -lo.

Essa técnica é bastante difícil devido à falta de documentação sobre ela. Se você ainda estiver interessado nisso, posso enviar alguns exemplos no C ++/ATL.

Você pode elaborar um pouco seus objetivos?

Eu não acho que você definiu claramente o que está tentando realizar. Se o seu código tiver a capacidade de modificar o DOM da página, então ele efetivamente é executando no contexto da página. Ele pode criar novos blocos de script para executar qualquer ação insegura ou não confiável que pudesse realizar se operando no mesmo ambiente de execução.

O IE não oferece um recurso para fazer o que você está pedindo, e não estou convencido de que o Firefox e o Chrome sejam feitos da maneira que você espera que eles façam.

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