aachyeeのブログ

備忘録的メモ。主にIT(プログラミング、電子工作)、DIY、アウトドアネタ。詳細はaboutを。

現在のページを1時間の間、一定間隔でリロードするBookmarklet

それだけですが、実はこれをBookmarkletでやろうとするとちょっと難しいのです。リロードさせること自体は簡単ですが、ページをリロードするとそのページで動いているBookmarkletスクリプトが止まってしまうため、2回目以降のリロードができません。なのでフレームを作って行うことになります。完成したBookmarkletは以下のようになります。1時間の間、1分おきにリロードします。おそらくFirefoxでしか動きません。

javascript:(function(){I=60,T=3600,M=T/I;document.write('<html><script>C='+M+';function%20R(){if(C=='+M+'){frames[1].location="'+location+'"}else{frames[1].location.reload()}if(C<=0)clearInterval(T);var%20D=frames[0].document;D.write("<html><body%20style=\\"margin:0;\\">Auto%20reload%20at%20'+I+'%20seconds%20interval.%20"+(C--)+"%20times%20left.</body></html>");D.close();};setTimeout("R()",50);T=setInterval("R()",'+I*1000+');</script><frameset%20rows="20,*"><frame><frame></frameset></html>');document.close();})();

 


ページが更新されないときは frames[1].location.reload(true) としてみて下さい。なお、スクリプトでフレームを操作している関係上、X-Frame-Options制限がかかったページはまったく表示ができません。同様の機能を持ったアドオンがあるのでそちらの利用をおすすめします。