* [CODE(DOMa)[hash]] 属性 (DOM 水準 0 [CODE(DOM)[location]] 物体) [1] [CODE(JS)[location.hash]], [[Gecko]] では[[百分率符号化]] ([[URI符号化]]) が復号されていて、 [[WinIE]] では復号されていないという罠。 ([CODE(JS)[hash]] 以外も非互換な悪寒。) 回避するには、 [CODE(JS)[location.href]] を使うがよろし。 [PRE(JS example)[ function getFragment (uri) { var fstart = uri.indexOf ('#'); if (fstart == -1) return null; return decodeURI (uri.substr (fstart + 1)); // 百分率符号化したままがよいなら // return uri.substr (fstart + 1); } var fragment = getFragment (location.href); ]PRE] [[正規表現]]でさらりとこなす例 [PRE(JS example)[ var fragment = decodeURI (location.href.replace (/^.*#/, "")); // 百分率符号化したままがよいなら // var fragment = location.href.replace (/^.*#/, ""); ]PRE] [2] [CITE[location.hash]] [CODE(JS)[location.hash]] ([[素片識別子]]) に[[セッション]]情報を保存しようという試み。 同じことを考えてる人がいたとは。 [3] [CITE[Merge and Context Ids]] [[HTML Help]] 内の [[redirect]] に素片識別子を使うという話。 ([[名無しさん]]) [4] [CITE[web拍手登録版を加工・改造・実験・検証]] (2004年9月付け) [[利用者]]の入力に対する反応 (頁内容の変化) をスクリプトと素片識別子により行っています。 ([[名無しさん]] [sage]) [5] '''はじめの [CODE(URI)[#]]''': 素片識別子の前に来る[[区切子]]の [CODE(URI)[#]] は、 [CODE(DOMa)[hash]] の取得では [WEAK[(元の URI にあれば)]] 常につきますが、 値の設定ではなくてもよいようです。 ([[名無しさん]]) [6] '''URI 符号化''': URI 全体として Gecko は必要に応じて [WEAK[(URI で使えない文字があれば)]] [[百分率符号化]]し、 WinIE は必要であっても放置するようです。 [CODE(DOMa)[hash]] で取得できる値は Gecko では [[UTF-8]] として復号された状態、 WinIE では百分率符号化 [WEAK[(されていれば)]] されたままの状態です。 ([[名無しさん]]) [7] '''この属性が存在する物体''': この属性は [[DOM水準0]] ですが、 [CODE(DOMa)[[[location]]]] 物体のみならず、 [CODE(HTMLa)[[[href]]]] 属性や [CODE(HTMLa)[[[src]]]] 属性がある要素の [[DOM]] 属性として [WEAK[(他の [CODE(DOMa)[location]] 系属性と共に)]] 存在しています。 ([[名無しさん]]) [8] '''値の設定による移動''': 値を設定すると、 他の状況で URI が指定された場合同様に新しい素片識別子で識別される部分要素まで [[scroll]] するなりなんなりしようとします。 ([[名無しさん]] [sage]) [9] '''値の自動的な変化''': 頁内リンクの移動や [CODE(DOM)[[CODE(DOMa)[[[location]]]].[CODE(DOMa)[[[href]]]]]] などの設定で URI が変化すると、 自動的に [CODE(DOM)[[CODE(DOMa)[[[location]]]].[CODE(DOMa)[hash]]]] の値も更新されます。 ([[名無しさん]] [sage]) [10] >>6 より、 Gecko でも WinIE でも [CODE(DOM)[hash]] が構文的に正しい素片識別子になっていることは期待できません。 >>1 のように [CODE(DOMa)[href]] から採るのが安全です。ただし >>6 にあるように WinIE ではこちらも URI として正しいことが期待できません。 ([[名無しさん]]) [11] [CITE[Bug 135309 - location.hash should not be unescaped]] ([[名無しさん]]) [12] Best Teens [url=http://besthotsex.org/teen]Best Teens[/url] Best Teens http://besthotsex.org/teen ([[ufhyng]] [pikela@spmtbds.com]) [14] buy levitra buy levitra buy levitra [URL=http://freewebs.com/buy-levitrarx/generic-levitra.html]buy levitra[/URL] http://freewebs.com/buy-levitrarx/generic-levitra.html ([[Billy]] [rudffgdfvb@yahoo.com]) [15] qLuqzJ sstlflgyfivf, [url=http://rvhscbxykkph.com/]rvhscbxykkph[/url], [link=http://ztbmnddlhjuy.com/]ztbmnddlhjuy[/link], http://uupgrjivtbya.com/ ([[qwiusdsfth]] [dzlwyi@jbneyd.com] [WEAK[2008-06-23 15:56:01 +00:00]]) [16] qLuqzJ sstlflgyfivf, [url=http://rvhscbxykkph.com/]rvhscbxykkph[/url], [link=http://ztbmnddlhjuy.com/]ztbmnddlhjuy[/link], http://uupgrjivtbya.com/ ([[qwiusdsfth]] [dzlwyi@jbneyd.com] [WEAK[2008-06-23 15:56:15 +00:00]]) [[#comment]] * メモ [13] [CITE[Link Fingerprints]] ([CODE[2007-07-03 07:20:54 +09:00]] 版) ([[名無しさん]] [WEAK[2007-07-24 14:22:07 +00:00]])