GETの意味を履き違えていたらごめんなさい。
つまり具体的に言うと
例えば、
<h3><a href="hoge.htm?uid=1">page1 動作1</a></h3>
<h3><a href="hoge.htm?uid=2">page1 動作2</a></h3>
というリンクがあったとして、hoge1.htmではアコーディオン表示のjQueryプラグインを使っており、uid=1の時は項目1を展開した状態で、uid=2の時は項目2を展開した状態で、表示させたいのです。(?以降が無いときはuid=1と同じ動作)
そこで、(location.href)を使って取得しようと考えたのですが、IEではリンク先を表示したときに?を含む以降が省略されてURLを表示してしまい、うまく取得できないようです。
(FireFoxでは、?以降のURL表示がされており問題なく想定どおりの動作をしていました)
考え方が間違っているのか、そもそもIEでjQuery(javascript全般含む)がGET(URLの?以降)を受け取ることができないのでしょうか?
稚拙ではありますが、参考までに自身で作った受取側のソースを自前のテストサーバーに貼っております。
(そもそもこれはGETではなく、単純にURLの?以降を読み取っているに過ぎないとは思いますが・・・)
http://tw2.ryu-net.info/test.js.txt
>jQueryはIEにおいてGETを受け取れない?
そんなことはありません。IRでもGETは受け取れます。
GETを取得するときには、window.location.searchを使いましょう。
http://phpjavascriptroom.com/?t=js&p=location4
取得後の文字列を&や=で区切ることにより、該当するパラメータを手に入れられます。
https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/String/split
IEでもGETパラメータは取得できます。
? でsplitしているのがおかしいように思います。
下記サイトのソースを参考にしてみて下さい。
http://blog.digital-assist.net/?p=110
>jQueryはIEにおいてGETを受け取れない?
そんなことはありません。IRでもGETは受け取れます。
GETを取得するときには、window.location.searchを使いましょう。
http://phpjavascriptroom.com/?t=js&p=location4
取得後の文字列を&や=で区切ることにより、該当するパラメータを手に入れられます。
https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/String/split
なるほど、この場合location.hrefより、location.searchが正しい使い方であること、勉強になりました。
ありがとうございます。
なるほど、この場合location.hrefより、location.searchが正しい使い方であること、勉強になりました。
2013/06/28 13:42:01ありがとうございます。