2016-07-11 14 views
0

変数ネーミングIDを宣言するjavascriptファイルがあります。いくつかのメソッドの後に、YouTubeの各ビデオのような文字列が生成されます。今私はそれを実行したい別のjavaスクリプトファイルに渡したいと思います。今私は 'されているビデオIDを交換したい1つの.jsファイルから別の.jsファイルに文字列を渡す方法

function onYouTubeIframeAPIReady() 

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

{ 

height: '390', 

width: '640', 

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

:パラメータの命名IDであり、そして今、私は別のJSファイルにそれを渡したい、それは以下の通りです

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

M7lc1UVf-VE 'に最初のjavascriptファイルのパラメータnaming idを付けます。 どうすればいいですか?

+0

[異なる.jsファイル間で変数を渡す]の可能な複製(http://stackoverflow.com/questions/17172634/pass-variables-between-different-js-files) –

+0

私はこれを改善するために最善を尽くしました質問はありましたが、私も理解することは難しかったです。この質問をもう一度読んで、意味のある編集を行い、質問を明確にしてください。 – FrankerZ

+0

私はYouTubeの埋め込み検索を行っています。ここでは、1つのjsファイルが動画であるyotube IDを作成しています。その動画はhttps://yout.com/のようなタブで再生します。 –

答えて

0

グローバル変数を作成することはできますが、必ずしも安全であるとは限りません。そこに保存することができます。その後、他のjsファイルからアクセスできます。 もう1つの方法は、ローカルストレージに保存してそこから取得することです。

グローバル変数を作成するのは安全ではありません。複数の開発者を担当するプロジェクトでは、コードの異なるポイントで同じ変数を作成または変更する可能性があるからです。

グローバル変数を作成するには、コードの任意の機能の外に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ファイルを取り出し、それらを連結して1つのファイルとして提供する方がよいでしょう。 BabelでWebpackを使用する方が良いでしょうし、新しいES6 importexportも使用できます(ただし、webpackは実際に設定することができます)。

関連する問題