普通にiframe内のコードをjavascriptで動的に修正すると、修正前の状態が履歴に残るらしいです。
このままだとブラウザの「戻る」ボタンを押したとき、一旦修正前の画面を挟んで元の画面に戻るので見栄えや操作性が悪い。
じゃあiframe内での動的変化の履歴を残さないようにすればいいんじゃないか、ということでいくつか検索してみた結果が以下。
・JavaScriptで履歴管理
http://d.hatena.ne.jp/tkkochan/20080613/1213377282
・履歴に残さない画面遷移
http://jsdo.it/ginpei/fGjv
iframe内の動的変化をlocation.replaceで実装すれば履歴に残さずに遷移が可能、ということだそうです。
Archive for 3 月, 2012
iframe内の遷移を履歴に残さない
【word】図の圧縮でなぜかトリミングが解除される
タイトル通りなんですが、すごい謎現象に突き当たりました。
ある画像を右クリック → 図の書式設定 → 圧縮
と進んでいき、
「図を圧縮・図のトリミング部分を削除」にチェックを入れるんですが、なぜかトリミング部分が削除されない。
それどころかトリミングが解除されて元の画像に戻ってしまいます。
図のツールバーの「図の圧縮」アイコンからやるとうまくいくらしい・・・という情報があったので試してみましたがこれもダメ。
良い解決策が出てこないので結局原因不明のまま諦めました。
前は普通に削除できてたのに、いきなりできなくなったというのが不思議です。
wordのバグなのか何なのか。
ページ遷移によって、jquery.cookie.jsで設定したcookieが外れてしまう場合の対処法
文字サイズや背景色とかをユーザー側で選択できるサイトを作る場合、選択された値をcookieに保存して管理することがあります。
jQueryとjquery.cookie.jsを使ってcookie制御する機会があったので注意点を。
——————————–
下のような構成のサイトで、
hoge1.html
— fuga(directory)
— hoge2.html
選択された値をこんな感じでcookieに詰め込みました。
$.cookie(’config’, settingvalue);
これでcookie「config」に、「settingvalue」の値が入るはずです。
が、どうも挙動がおかしいので調べてみたところ以下のような現象が起こっていました。
・hoge1.htmlで値を詰め込んだときは、hoge2.htmlに遷移した時も値が保持されている
・hoge2.htmlで値を詰め込んだときは、hoge1.htmlに遷移した時に値が保持されていない
そこでちょっと調べてみたところ、階層が変わるページ遷移を伴う場合、cookieのパスを明示的に指定しないと外れてしまうことがあるそうです。
というわけで
$.cookie(’config’, settingvalue,{path:’/’});
と修正したところ、解決。正常に動作するようになりました。
——————————–
調べてみた限りでは、パスを省略すると値を詰め込んだページのパスでのみ有効になるそうです。
確かにパスを指定する前は、それぞれのページで最後に設定された値が使われてたなー。
jquery.cookie.jsでcookie制御する場合は、例え階層変更が伴わなくてもパスは指定しといたほうがよさそうです。あとから階層追加になる可能性もなくはないし。
more from " ページ遷移によって、jquery.cookie.jsで設定したcookieが外れてしまう場合の対処法 "...