Pergunta

É seguro para injetar o roteiro de JQuery usando JSONP?

A instalação da minha aplicação web é - adicionar um script para o site de um cliente (como o Google Analytics). Eu estava pensando em usar JQuery no site do cliente, como parte do meu próprio script injetado.

Eu estava pensando, se houver algum tipo de risco? As necessidades de aplicação para suportar qualquer tipo de website.

Obrigado Yaron

Foi útil?

Solução

É difícil dizer o que você está fazendo com a sua biblioteca, mas parece que você está construindo algum tipo de widget para uso em vários sites.

A partir daqui para baixo foi atualizado após um comentário esclarecedor de @K primeiro-me fez pesquisar exatamente como você poderia incluir duas cópias do jQuery, se necessário:

É geralmente ruim para usar jQuery se você está construindo um widget que vai viver em um site fora seu controle, e será adicionado ao local com um " copiar este código e cole no seu site" tipo de funcionalidade. (claro widgets do jQuery e plugins são abundantes, mas estes são normalmente escolhido e instalado / implementada por desenvolvedores não um genérico "copiar-n-paste" implementação do tipo widget)

Provavelmente a maior razão (depois de perceber que você pode executar duas cópias do jQuery na mesma página) é o aumento de tamanho de arquivo. Se ele está garantido vai depender de suas necessidades e função particulares. Simples pequena Widget = JS retas. website complexo extensão front-end, então provavelmente vale a pena o aumento de tamanho do ficheiro.

Para incluí-lo adequadamente (assim você não correr em conflitos em seu site) seguem um fluxo de trabalho que é algo como isto:

  1. Adicionar dinamicamente jQuery para sua página usando o Google APIs como mencionado em outras respostas aqui.
  2. Executar var mywidget_jQuery = $.noConflict( true ); que irá restaurar o significado original da $ e restaurar o significado original da window.jQuery.
  3. dinamicamente adicionar seu arquivo de script, mas certifique-se de embrulhar a coisa toda em uma auto-executório função anônima como este:

JS

(function($){
    ... Your code here ...
})(mywidget_jQuery);

Agora, você pode usar com segurança $ dentro de sua função especial e todo o jQuery características que você deseja sem problema.

Crédito extra Você poderia envolver os passos 1 e 2 em uma declaração se que os testes se window.jQuery é definida e se, teste se jQuery.fn.version é alta o suficiente para executar seu código. Se qualquer teste falhar, em seguida, executar os passos 1 e 2. Se ele passa, no entanto, var mywidget_jQuery = window.jQuery seguida, basta executar para que o script que você incluir na etapa 3 ainda será executado.

Outras dicas

Você pode adicionar jQuery para um site simplesmente adicionando um elemento <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3/jquery.js" />.

No entanto, certifique-se chamar jQuery.noConflict() no caso de usar uma palavra-chave $ diferente .

Se você está apenas depois de uma referência para a biblioteca, por que você não apenas link para a API hospedado em Google Code ?

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