口上 historyとAjaxといえば、JavaScriptからある程度任意でhistoryのエントリをpushできるhistory.pushStateとか、history.replaceStateは既に大分有名になった感がある。 素晴らしい未来では、全てのブラウザにpushStateが乗っていて「location.hashを使ったAjax遷移が許されるのは10年前のブラウザまでだよねー」というハッピーな世界が実現するのだろう。が、今現在ではまだpushStateに対応していないブラウザのシェアも多く、Ajaxによる擬似画面遷移をモリモリ行うようなサイトではpushStateのある環境、ない環境の両方を考慮してやる必要がある。 (ちなみに、要件によっては「pushStateがないブラウザは通常の遷移で我慢しろ!」という割り切りも全然ありだと思う) 先に言っておくと、この記事は長いです。 環
[JavaScript] Androidではwindow.history.pushState/replaceStateが使えない 結論から言うと、タイトルそのまま。Androidではwindow.history.pushStateが使えなかった。 もちろんreplaceStateも スマートフォンサイト向けにTwitterのサイトでやってるように、ページ下部に表示したいデータをどんどん追加していくやつをやった。 追加して表示するのはAjaxでよみこんでinnerHTMLで後ろに追加ってのでできたんだけど、Twitterと違って、そのリストからそれぞれの個別ページにリンクしてた。 で、リンク先のページを開いた後、戻るボタンでリストページに戻ってみると、ページの一番頭に戻される。 それだとリストの下の方のをクリックしていた場合、またそこら辺まで表示させるのがめんどくさいので、ページを移る時にw
AJAXコンテンツが増えるにつれて問題になるのは、SEOというか、検索エンジンにどうクローリング、インデックスさせるのか、という点ですよね。 この前JavaScriptの実装を担当した松本クリニックは、AJAXでほぼ全てのページを切り替えるっていうのが最大のポイントなんですけど、これの良いところはWordPressで全てのページを生成してて、JSオンでもオフでも見られるんですね。つまり、クローラはオフのコンテンツを見るような作りにしてあります。 で、こういうのって小規模~中規模なサイトならまだいいと思いますけど、大規模なサイトになってきたりするとページは存在しないでデータだけが存在したりする(ハンドラにリクエストをかけてJSONだけを返してもらって内容を入れ替える、など・・・)わけで、実現が難しくなるんですね。 この問題に対してGoogleが現在公表している方法は、HTML snapsho
ExtJSの勉強もしてるんですがね、jQueryの方が楽ちんすぎて今でも使っているんです。 jQueryでは.load()とか.post()とか.get()とか書けば簡単にAJAXが書けますが、フォームをAJAXで扱いたい場合は「jQuery Form Plugin」を使うわけです。 これを使えばAJAXフォームの送信もカンタンカンタン。 APIリファレンスを日本語で書いたので覚え書きに載せときます。 って言っても、たいした量でもないので、いまいち分からなかったらプラグインファイルを見た方が早いですよー。 jQuery Form Plugin のAPI ■ ajaxForm() AJAX処理したい任意のフォームを設定します。 詳細についてオプション値を設定することも出来ます(オプションについては下の方に)。 Chainable: Yes. //オプション値なし $('#myFormId')
JSが少しできる人ならうじうじ考えるほどのこともでもない! 何も難しいことはない!ぶっとんぢまいなよ!ヒャッパー!!! というノリでAjaxを学んでみました。醜いです。 Ajax入門 Ajaxはいろいろできるんだぜ! 以上入門終り!キミは完璧だ!次いけ! Ajaxは非同期通信だかなんだかそんなもんはどうでもいいんだ! どうでもいい!そんなことよりもXMLHttpRequestオブジェクト生成! var request = false; if(window.XMLHttpRequest) { request = new XMLHttpRequest(); //frefox ie7,8 safai opera } else if(window.ActiveXObject) { try { request = new ActiveXObject("Msxml2.XMLHTTP"); // ie6
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く