ひまつぶし雑記帖

めも:ajaxの戻る

2008/7/11 [01:02:28] (金) 天気

またハマってるのがajax…ブラウザの戻る。

ブラウザの「戻る」自体はわたし自身もよく使うし、いわゆるユーザビリティを考えても、ブラウザ標準の機能をサービスの都合でどーこーするのは、発想する時点で負け確定。
とはいえ、確認画面なんかで、おっといけない書き直し、となった場合、用意されてる「戻る」ボタンじゃなくて、ブラウザの「戻る」を押すことが多くて(わたしはSleipnirでマウスジェスチャで戻る)それはそれで問題。
ブラウザで戻られると、ajaxで出してるフローティングコンテナのフォームがぶっ飛んでしまう。
せめて一度だけこのときだけでもブラウザの「戻る」は「なにもしない」で欲しい、と。

あれこれ検索してみて、とりあえず一度きり、ブラウザの戻るを「なにもしない」にしてみる。

if(document.all){
  var ifr = document.createElement('IFRAME');
  ifr.style.cssText="display:none";
  document.body.appendChild(ifr);
  var iframe = frames[frames.length -1].document;
  iframe.open();
  iframe.close();
  iframe.location.hash="#books";
}
else{
  window.location.hash="#books";
}

location.hashにテキトーな値を入れると、URLの履歴にページ内ジャンプのURLが追加される=ページ遷移が起こらない。これを利用してブラウザの戻るを意図どおり一度だけ「なにもしない」にできる。
ajaxが絡むページ移動やブックマークではこいつをさらにガリガリ使って、いわゆるフツーのページ遷移・ブックマークを実現する…らしいけど、わたしはそこまで考えてないし、そんなスキルもない。

で、どうもIEだけが別扱いらしく、widndow.location.hashに値を入れても反応してくれない。
document.allでくくった中のように、ダミーでiframeを生成して、そのiframeをopen→closeして、そのiframe のlocation.hashに値を代入、なんて二度手間三度手間してようやく。

うーん、でもこれでいいのか、本当に意図どおりなのか、てのはいろんなパターンを検証しないとわからんちんだなぁ。

»電子書籍制作代行についてはこちら

【電子書籍発売中】

doncha.net制作・発行:KindleやiBooks、楽天kobo、BOOK☆WALKERで読む電子書籍

profile

profile

 
doncha.net
contact:
»運営者
@t2aki@tokoroten.doncha.net

ため池

[2025/03/18 19:35]
「フランス人がドイツ語を話していないのはアメリカのおかげ」 自由の女神像返還をめぐり米仏が論争|TBS NEWS DIG

ホワイトハウスの報道官が公式会見で言っちゃのがオツム大丈夫かの世界。キ印こえーよ。

[2025/03/18 15:57]
という流れからすると、こないだ観ためちゃくちゃ静かな香港映画だった『エレクション』の2作はまた別格か。

[2025/03/18 15:55]
いい意味でも悪い意味でもてんこ盛りのけたたましさが香港映画の真骨頂だなあ。

@t2aki@tokoroten.doncha.net

検索
<<2025/3>>
      1
2345678
9101112131415
16171819202122
23242526272829
3031

リンク

WINDOWS版サウンドノベル
おかえりください PC WINDOWS版サウンドノベル
『おかえりください』体験版