Adicionar javascripts externos

20

É possível adicionar javascripts externos diretamente ao arquivo .info de um tema?
por exemplo scripts [] = http://cdn.jquerytools.org/1.2.6/jquery.tools.min.js

JurgenR
fonte
Você está apenas tentando adicionar a versão CDN do jQuery Tools ao seu tema ou está perguntando explicitamente se isso pode ser feito a partir do arquivo .info de um tema?
mpdonadio
É explicitamente adicionar javascript externo ao arquivo .info
JurgenR 10/12/12
Então você queria adicioná-lo ao arquivo .info e aceitou uma resposta que não fala sobre o arquivo .info e mostra o método drupal_add_js?
mpdonadio
Sim, se não funcionar no arquivo de informações, fico feliz com a melhor solução possível.
JurgenR

Respostas:

24

No arquivo template.php do seu tema, use drupal_add_js () no método de pré-processo da página (ou um pré-processo equivalente).

function hook_preprocess_page(&$vars) {
  drupal_add_js('http://cdn.jquerytools.org/1.2.6/jquery.tools.min.js', 'external');
}
drmonkeyninja
fonte
Eu recebo um erro de javascript ao usar esta função, quando coloco o script dentro (rodapé) html.tpl.php que está funcionando.
JurgenR
Que erro? O Drupal produz a marcação de script correta ao usar esta função se você verificar o código-fonte?
Drmonkeyninja 10/01/12
A adição da matriz de opções a corrigiu. Acho que foi um problema com o peso. drupal_add_js (' cdn.jquerytools.org/1.2.6/jquery.tools.min.js ', array ('tipo' => 'externo', 'escopo' => 'cabeçalho', 'peso' => 10)) ; Thnx!
JurgenR
@Jurgen drupal_add_js()também aceita uma string como segundo parâmetro; nesse caso, é considerado como o índice "tipo" usado na $optionsmatriz. Se você precisar definir outras opções, precisará usar uma matriz.
kiamlaluno
@drmonkeyninja Como adicionar JS em qualquer módulo .. ??
Nishant 10/10
2

O método de adição de javascript depende para o que você está adicionando javascript. Existem diferentes maneiras de adicionar js.

  • Definindo no arquivo theme.info.

  • Adicionando-o em linha.

  • Incluindo um arquivo js externo.

Você pode adicionar um arquivo js info com esta linha de código simples

scripts[] = js/myscript.js

Ou você pode usar a função php fornecida por drupal drupal_add_js

Essas funções permitem adicionar facilmente um arquivo JavaScript ou ajudam na configuração de um código embutido para qualquer página do seu tema e são necessários 5 parâmetros ( você o vê na referência da API ).

Há um post detalhado sobre isso aqui.

esafwan
fonte
2
você não pode definir um JS externos em um arquivo de informações, aparentemente drupal.stackexchange.com/a/196874/12010
batigolix