Hatena::Groupsubtech

#生存戦略 、それは

-> 09 { 01 / 21 }

URL の GET での長さの制約

12:11 | はてなブックマーク - URL の GET での長さの制約 - #生存戦略 、それは

IE だと 2083 文字で、他のブラウザは割とすごい長い文字列も大丈夫、という訳で GET にパラメータつけまくってJSONPだぜ(いまさら)と意気込むために、きちんとブラウザごとに測定しよーかな、と思ったんだけど、apache だとデフォルトで 10000 文字行かずに

414 Request-URI Too Large

になる罠が…。ブラウザURL長さの制約考えなくていいのは location.hash の長さだけだなー、と今更。

で、location.hash で計ったところ

  • Firefox 3.0.5
    • 1000000 文字以上OK。なんか重い。
  • Chrome/1.0.154.43
    • 1000000 文字以上OK。軽い。
  • Opera 9.62
    • 1000000 文字以上OK。軽い。
  • Win Safari 3.2.1
    • 1000000 文字以上OK。重い。

という結果に。で、IE7 なんだけど no title とのことだけど、location.hash を弄った場合は 4095 文字までいけるみたいなんだけど?あれれ?(location.href.length で 4095 は出るのは確認済み)

location.hash は GET のクエリに含まれないんじゃJK?

nanto_vinanto_vi2009/01/21 21:52IEにはウィンドウサイズが変化したときに発生するresizeイベントとbody要素の大きさが変化したときに発生するresizeイベントがあって、body要素の大きさがむやみに変わらないようCSSで指定したりすればresizeイベントによる無限ループを避けられたような気がします。

と思ってMSDN Libraryを見たらもっと多くの場所で発生するみたいです。
http://msdn.microsoft.com/en-us/library/ms536959.aspx

secondlifesecondlife2009/01/21 22:07どもーなるほど。window の onresize イベントを待ち受けても、body の変化で resize イベントが発生するんですね。
しかし srcElement に document.body が入っておらず、判別するには…、うーん。