2017-12-21 9 views
1

私は自分のJSロジックのすべてを行う単一のJSファイルを持っています。どのページが読み込まれているかを確認するには?

ロードするページを特定する方法が必要です。たとえば、ユーザがホームページをロードする場合は、"home"をJSファイルに渡す必要があります。ユーザーがプロファイルページをロードする場合は、"profile"をJSファイルに渡す必要があります。

これを行う正しい方法は何でしょうか?

<script> 
    window.page = 'home'; 
</script> 

どのように私はその後、私のJSファイルでこれをアクセスする(そしてそのことを確認します:私はそうは次のように私は、各ページの<script>タグに設定しますpageという変数を追加したことを考え何を

変数が存在し、それが設定されていれば、変数はnullに設定されます)。

+2

あなたは文の後にjsファイルを含める必要があり、それはあなたが使用することができますどこからでもそれを渡す必要はありません'SessionStorage'もこの目的のために –

+0

私のメインのJSファイルで変数が存在するかどうかを確認し、そうでない場合はnullに設定できますか? – user6525541

+1

'var page = typeof page!== 'undefined'を実行しようとしたら?ページ:null; 'メインのJSファイルで、毎回' null 'を返します。 – user6525541

答えて

0

あなたの考えはうまくいくでしょう。

あなたがconsole.log(page); が含まれているtest.jsファイルを持っているなら、あなたは自分のページに追加できます。

インデックス:

<script> 
    var page = 'index'; 
</script> 
<script src='test.js'></script> 

家:

<script> 
    var page = 'home'; 
</script> 
<script src='test.js'></script> 

と結果を確認します。

しかし、あなたはwindow.locationオブジェクト

あなたのjsファイルでこれを試すと、あなたの現在のページのURLを取得することができます:あなたはより多くの情報here

を確認することができ

console.log(window.location.pathname); 
console.log(window.location.href); 

私はことを願っています助けてください:)

+0

この部分には忘れてしまったことがあります。「これをJSファイルでどうやってアクセスすればよいのですか?変数が存在し、それが設定されている場合はnullに設定されています) – user6525541

+0

はい、それは明らかではなかった私はごめんなさい。 Javascriptのスクリプトタグは、それぞれが無効になっているすべての変数を共有する順序で実行されます。したがって、最初のアプローチ(あなたの例では、変数 'page'を宣言し、それを各値に設定します。次に、jsファイルを参照して別のスクリプトタグを宣言します。このファイルは、前のスクリプトタグから宣言された変数 'page'を持ち、各ページの値を持っています。あなたはそれをテストして見ることができます:) –

+0

この変数は決してnull値を持っていません。 'window.location'オブジェクトを使うことをお勧めします。これは、情報のこの種のあなたを助けることができるjavascriptのオブジェクトに組み込まれています:) –

関連する問題