2016-07-11 8 views
0

변수 이름 지정을 선언하는 javascript 파일을 가지고 있으며 일부 메서드 후에는 YouTube의 모든 비디오와 같은 문자열이 자체 id를가집니다. 이제 그것을 다른 Java 스크립트 파일에 전달하여 어디에서 실행하고 싶은지 확인합니다. ID를 이름 매개 변수를, 그리고 지금은 또 다른 JS 파일로 전달하려는 하나의 .js 파일에서 다른 .js 파일로 문자열을 전달하는 방법

a.setAttribute('href', 'https://www.youtube.com/watch?v=' + id);

, 그 다음입니다 :

function onYouTubeIframeAPIReady() 

{ 
     player = new YT.Player('player', 

{ 

height: '390', 

width: '640', 

     videoId: 'M7lc1UVf-VE', 
     events: { 
     'onReady': onPlayerReady, 
     'onStateChange': onPlayerStateChange 
     } 
    }); 

지금 내가있는 비디오 ID를 대체 할 ' M7lc1UVf-VE '첫 번째 자바 스크립트 파일 매개 변수 이름 지정 ID. 어떻게해야합니까?

+0

[다른 .js 파일간에 변수 전달] (http://stackoverflow.com/questions/17172634/pass-variables-between-different-js-files) 가능한 복제본 –

+0

이 문제를 개선하기 위해 최선을 다했습니다. 질문을하지만, 심지어 나를 이해하기가 어려웠습니다. 이 질문을 다시 읽고 질문을 명확히하기위한 의미있는 편집을하십시오. – FrankerZ

+0

나는 youtube embedd search를 만들고 있는데, 하나의 js 파일은 비디오 인 yotube ID를 만들고 https://yout.com/과 같은 그 탭에서 그 비디오를 재생하고 싶습니다. –

답변

0

전역 변수를 만들 수 있습니다 (항상 안전하다고는 할 수 없습니다). 그리고 거기에 저장하십시오. 그런 다음 다른 js 파일에서 액세스 할 수 있습니다. 또 다른 방법은 로컬 저장소에 저장하고 거기에서 가져 오는 것입니다.

글로벌 변수를 만드는 것은 안전하지 않습니다. 둘 이상의 개발자를 사용하는 프로젝트에서 동일한 변수를 코드의 여러 지점에서 만들거나 변경할 가능성이 있기 때문입니다.

전역 변수를 만들려면 var str = 'foo';을 코드의 모든 기능 (및 $('document').ready() 다음)을 입력 할 수 있습니다.

localStorage.setItem("str", "foo"); 하고 값 `localStorage.getItem ("STR")를 얻기 위해 같은 것을 입력하여 달성 로컬 스토리지에 저장하려면;

+0

왜 안전하지 않은가? ? 글로벌 변수를 만드는 방법은 무엇입니까? 몇 가지 예를 제시하고 고품질 응답을 제공하는 데 도움을줍니다. – FrankerZ

+0

둘 이상의 개발자가 함께 작업하는 프로젝트에서는 동일한 변수를 코드의 여러 지점에서 만들거나 변경할 가능성이 있으므로 안전하지 않습니다. 전역 변수를 만들려면 var str = 'foo'; 코드의 모든 기능 (및 $ ('document'). ready()) 이후. – vasnakos

+0

답을 수정하고 그 정보를 포함 시키십시오. – FrankerZ

0

전역 변수는 창 개체에 정의되어 있으므로 다른 파일에서 사용할 수 있습니다. 예를 들어 당신이 올바른 순서로 스크립트 당기는 것 같이

file1.js: var에 STR = "foo는"

file2.js: 을 console.log (STR)

은 잘, 너무 오래 작동합니다 html로 :

<script src="file1.js"></script> 
<script src="file2.js"></script> 

그러나 실제로는 이것이 최선의 방법은 아닙니다. Gulp 나 Grunt와 같은 것을 사용하여 프로젝트의 모든 JS 파일을 가져 와서 연결 한 다음 단일 파일로 제공하는 것이 나을 것입니다. Babel과 함께 Webpack을 사용하는 것이 더 좋을 것입니다. 그런 다음 새로운 ES6 importexport 문을 사용할 수도 있습니다 (단, webpack은 구성 할 실제 곰 일 수 있음).

관련 문제