pjax Githubで使われている Rails4のturbolinks こういう奴 サイト内のリンクをクリックする 画面遷移は止める リンク先のコンテンツを表示するのに必要なデータをAjaxで取得して表示 URLをリンク先のものに書き換え

口上 historyとAjaxといえば、JavaScriptからある程度任意でhistoryのエントリをpushできるhistory.pushStateとか、history.replaceStateは既に大分有名になった感がある。 素晴らしい未来では、全てのブラウザにpushStateが乗っていて「location.hashを使ったAjax遷移が許されるのは10年前のブラウザまでだよねー」というハッピーな世界が実現するのだろう。が、今現在ではまだpushStateに対応していないブラウザのシェアも多く、Ajaxによる擬似画面遷移をモリモリ行うようなサイトではpushStateのある環境、ない環境の両方を考慮してやる必要がある。 (ちなみに、要件によっては「pushStateがないブラウザは通常の遷移で我慢しろ!」という割り切りも全然ありだと思う) 先に言っておくと、この記事は長いです。 環
(※このエントリーは、「Androidのブラウザは本当のクソAdvent Calendar」の一日目の記事として書いています) 12/2に発売予定のGalaxy Nexusにも搭載される予定のAndroid4.0ですが、なんと標準ブラウザにHTML5 history APIが「実装されていません」。 2.2系、2.3系にはあったのに、なぜかなくなっています。 http://caniuse.com/#search=pushState ここに書いてある通り、実際にAndroid4.0のemulatorでHistory APIが「ない」ことが確認されています。4.0はスマートフォン向けの2系とタブレット向けの3系の合流、という立ち位置らしいですが、ブラウザに関してはHistory APIのない3系に寄ってしまっているのでしょうか…。 「お前の好きなAPIがなくなったくらいで騒ぐなよ」という人もい
補足: この記事では HTML5 の History API の仕様に問題があり、Firefox 4 では改善された API を提案・実装した事が書かれています。これだけ読むと互換性が心配になるかと思いますが、この提案はすぐに他のブラウザベンダーからも賛同が得られ、仕様 にも他のブラウザの実装にも反映されています。より詳しくは WHATWG ML での議論などをご覧ください。 原文: History API changes in Firefox 4 (公開: 2011-03-02) この記事は Gecko 開発者 Jonas Sicking によるゲスト投稿です。 もうご存知でしょうが、私たちは Firefox 4 のリリース直前という段階に来ています。Firefox 4 では HTML5 の History API (pushState(), replaceState() などを定義)
会社で下の記事についてリマインドしてもらって、なんとなく気になっていたことを調べたメモ。 http://webtech-walker.com/archive/2010/12/06160539.html 記事を読んで、history.replaceState(null, "title", "/new.html") とかやると遷移なしでページのcontentも勝手に置き換わるのかなー、だったらあのアニメーションはどこで発火してんだ?とか考えていたがそもそもreplaceStateの動作について勘違いしていた。 要は、次のようなhtml書いてボタンをクリックしても、historyの先頭が置き換わるだけでページ自体には何も起こらない。(ただしlocation.hrefは置き換わっており、reloadすると/replace.htmlにいく) <!DOCTYPE HTML> <html lang="e
HTML5のhistory.pushState、history.replaceStateを試した。 HTML5 pushState/replaceState demoで動かせる。 Minefieldだと完全に意図した通りに動くがWebKitだとURLまわりがうまくいかない。 メインのソースコードは下記の通り。 canvasで適当に壁紙用画像を作るデモで、画像自体をクリックして何度も作り直せるようにした。 こういう物を作るときは、前の画像に戻れるよう履歴管理をすべきだが、今まではlocation.hashを使ったり(hashchangeイベントが入るまではタイマーが必要だった)iframeを使ったハックだったり(ブラウザ間の互換性やhistory.go(-2)をきちんと動かすのが難しい)、あるいはページを遷移する(必要ない部分まで毎回読み込まれる)必要があった。 pushState/repl
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く