외부 자바 스크립트 추가


20

테마의 .info 파일에 외부 자바 스크립트를 직접 추가 할 수 있습니까?
예 : 스크립트 [] = http://cdn.jquerytools.org/1.2.6/jquery.tools.min.js


CDN 버전의 jQuery Tools를 테마에 추가하려고합니까, 아니면 테마의 .info 파일에서 수행 할 수 있는지 명시 적으로 묻고 있습니까?
mpdonadio

외부 자바 스크립트를 .info 파일에 명시 적으로 추가합니다
JurgenR

그래서 당신은 그것을 .info 파일에 추가하고 싶었고 .info 파일에 대해 전혀 이야기하지 않고 drupal_add_js 메소드를 보여주는 대답을 받아들였습니까?
mpdonadio

예, 정보 파일에서 작동하지 않으면 가능한 최상의 솔루션에 만족합니다.
JurgenR

답변:


24

테마의 template.php 파일에서 drupal_add_js () 를 페이지 전처리 방법 (또는 동등한 전처리)에 사용하십시오.

function hook_preprocess_page(&$vars) {
  drupal_add_js('http://cdn.jquerytools.org/1.2.6/jquery.tools.min.js', 'external');
}

이 함수를 사용할 때 자바 스크립트 오류가 발생합니다. 스크립트를 (footer) html.tpl.php 안에 넣으면 작동합니다.
JurgenR

무슨 오류? 소스 코드를 확인하면 Drupal이이 기능을 사용할 때 올바른 스크립트 마크 업을 출력합니까?
drmonkeyninja

옵션 배열을 추가하면 문제가 해결되었습니다. 무게 문제라고 생각합니다. drupal_add_js ( ' cdn.jquerytools.org/1.2.6/jquery.tools.min.js ', array ( 'type'=> 'external', 'scope'=> 'header', 'weight'=> 10)) ; Thnx!
JurgenR

@Jurgen drupal_add_js()은 문자열을 두 번째 매개 변수로 받아들입니다. 이 경우 $options배열 에서 사용되는 "유형"인덱스로 간주됩니다 . 다른 옵션을 설정해야하는 경우 배열을 사용해야합니다.
kiamlaluno

@drmonkeyninja 모든 모듈에 JS를 추가하는 방법 .. ??
Nishant

2

자바 스크립트를 추가하는 방법은 자바 스크립트를 추가 할 대상에 따라 다릅니다. js를 추가하는 방법에는 여러 가지가 있습니다.

  • theme.info 파일에서 정의합니다.

  • 인라인 추가

  • 외부 js 파일 추가

이 간단한 코드 줄로 js 정보 파일을 추가 할 수 있습니다

scripts[] = js/myscript.js

또는 당신이 제공하는 PHP 기능을 사용할 수 있습니다 drupal drupal_add_js

이 함수를 사용하면 JavaScript 파일을 쉽게 추가하거나 테마의 모든 페이지에 인라인 코드를 설정하는 데 도움이되며 5 개의 매개 변수를 사용합니다 ( api 참조에서 볼 수 있음 ).

여기에 자세한 게시물 이 있습니다.


2
정보 파일에 외부 JS를 정의 할 수 없습니다. drupal.stackexchange.com/a/196874/12010
batigolix
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.