0

現在のページのURLのパスを別の関数に渡すことができるJavaScriptを作成しようとしています。具体的には、GoogleAnalyticsのカスタム変数に値として追加したいと考えています。ただし、JavaScriptがわからないので、変数を単純なアラートに渡すことができるかどうかを確認するのが最善だと思いました。残念ながら、私はできません。このサイトのいくつかの投稿をチェックアウトしましたが、これを機能させることができません。私がチェックしたスレッドのいくつかは次のとおりです。

関数に変数を渡す必要があります
この変数をこの関数に渡す方法は?
変数を外部JavaScriptに渡しますか?

また、GoogleといくつかのJavaScriptチュートリアルを試し、一重引用符、二重引用符、角かっこなどを試してみましたが、何も機能しません。誰か助けてもらえますか?ありがとうございました。

            <script type="text/javascript">
            $(document).ready(function() {
                var pdpURL = window.location.pathname;
            });
            function popup() {
                alert('pdpURL');
            }
            </script>

ポップアップが表示されますが、URLではなくpdpURLとだけ表示されます。

4

6 に答える 6

4

いくつかの問題:

  • あなたは電話していませんpopup

  • pdpURLハンドラーに対してローカルですが、popupグローバルです

  • alert変数参照ではなく、文字列が与えられます


$(document).ready(function() {
    var pdpURL = window.location.pathname;

    function popup() {
        alert(pdpURL);
    }

    popup();
});
于 2012-10-02T02:57:56.000 に答える
2

まず第一に、変数を呼び出すときに変数名を引用符で囲む必要はありません。次に、その変数は$(document).ready()関数にスコープされているため、他の関数からはアクセスできません。これを行うには、変数がグローバルである必要があります。これは、関数の外部で変数を宣言することで実行できます。

于 2012-10-02T03:00:16.493 に答える
1

これを試して:

 <script type="text/javascript">
            function popup(path) {
                alert(path);
            }
            $(document).ready(function() {
                var pdpURL = window.location.pathname;
                popup(pdpURL);
            });
            </script>
于 2012-10-02T02:59:04.937 に答える
0

一重引用符を置き換える必要があります。試すalert(pdpURL)

于 2012-10-02T02:57:00.773 に答える
0

$(document).ready(); を考慮する必要があります。ページ全体の読み込みが完了したときにのみ発生します。

つまり、この後のコードは、ページの読み込みが完了する前に実際に実行される可能性があります。

実行順序を見るときは、常に「イベント」の順序を考慮する必要があります。

于 2012-10-02T21:42:54.020 に答える
0

もちろんうまくいきません。

関数とその変数をボックスのように想像すると、一方のボックス内に変数があり、もう一方のボックスからは見えません。

$(document).ready(function() {
  var pdpURL = window.location.pathname;
});
function popup() {
  alert('pdpURL');
}

2 つのオプションがあります。

  • popURL をグローバル レベルに移動する
  • 匿名関数内でポップアップを移動します

例 1

var pdpURL;
+------------------------------------------
|  // This is box 1, an anonymous function|
|  // can see pdpURL                      |
+------------------------------------------

+------------------------------------------
|  // This is box 2 called popup          |
|  // Can't see anything inside box 1     |
|  // But can also see pdpURL             |
+------------------------------------------

例 2

+------------------------------------------
|  // This is box 1, an anonymous function|
|  var pdpURL                             |
|  +----------------------------------+   |
|  |  // This is box 2 called popup   |   |
|  |  // Can see inside box 1         |   |
|  +----------------------------------+   |      
|                                         |
+------------------------------------------
于 2012-10-02T03:03:06.980 に答える