人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

JavaScriptに詳しい方にお聞きします。

1)あるページを読み込むとページ履歴を2ページほど戻らせた上で
2)たどりついた先のページの情報をリロードする

というJavaScriptを組んでいただくことはできるでしょうか。
http://www.hatena.ne.jp/1135160543 の質問でhistory.go(-2); という指定をして成功するところまではいったのですが、これだけだと戻ったさきのページはリロードされていないので…

●質問者: complexequality
●カテゴリ:ウェブ制作
✍キーワード:Go JavaScript リロード
○ 状態 :終了
└ 回答数 : 3/3件

▽最新の回答へ

1 ● andi
●30ポイント

新しいウィンドウを開いてそちらからコントロールすることで対応してみました。


<script>

var win = window.open(’about:blank’);

win.document.write(”<script>”);

win.document.write(”opener.history.go(-2);”);

win.document.write(”opener.history.reload();”);

win.document.write(”<¥/script>”);

</script>

◎質問者からの返答

ありがとうございます。

新しいウィンドウをひらけばできるということですね。

ちょっと新しいウィンドウを開くとなると今回は使用しないと思いますが、勉強になりました。


2 ● ito-yu
●30ポイント

<body onLoad=”history.go(-2);location.reload();”>

にしたらリロードします。とおもったら、IEとOperaではうまくいったけどFirefoxではうまくいきませんでした。とりあえず参考まで

◎質問者からの返答

ありがとうございます。

firefoxでダメでしたか…いや、でもそれでもつけておく価値はありそうですね。さっそく使わせていただきたいと思います。


3 ● ginpei
●30ポイント

もし 2 ページ前が編集できるファイルであるという場合であれば、そちらのページの <head></head> 内に次を加えてみて下さい。

(ただし「”」は半角のものにかえること。)


<script type=”text/javascript”><!--

function CheckLastVisiting() {

var sep = ”,”;

var now = new Date();// 現在の時刻

var tmp = document.cookie.split(sep);// Cookie から読み出し、「,」で区切る

for(var i=0; i<tmp.length; i++)

tmp[i] = eval(tmp[i]);// 数値型にする

var d = new Date(tmp[0], tmp[1], tmp[2], tmp[3], tmp[4], tmp[5]);// 前回訪問時刻

if((now.getTime()-d.getTime())/1000 > 3 ) {// 前回より三秒以上経過なら処理

document.cookie = now.getFullYear() + sep + now.getMonth() + sep + now.getDate() + sep

+ now.getHours() + sep + now.getMinutes() + sep + now.getSeconds();// 現在時刻を Cookie に埋め込む

location.reload();// 安心してリロード

}

}

onload = CheckLastVisiting;

// -->

</script>


前にページを開いた時より 3 秒より経っていたなら、ページをリロードします。(自動的に破棄される Cookie を使用。)


2 ページ前のものが管轄外のものなら……やはりウィンドウを開いて操作する以外ないと思います。

ウィンドウを開けない理由にもよりますが、

・画面外に出現する(見えない)

・処理後自動的に閉じる(すぐ消える)

という方法なら利用者はあまり気にならないかもしれません。(セキュリティソフトが反応するかも?)

◎質問者からの返答

詳細な回答をしていただきありがとうございます!

2ページ前のページを編集可能ですので、いまから試してみたいと思います。

ありがとうございました。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ