みかづきブログ その3

本ブログは更新を終了しました。通算140万ユーザーの方に観覧頂くことができました。長い間、ありがとうございました。

👆

引越し先はこちらです!

FacebookMarkletをつくろう。

先日、 こんなブログ 記事をみつけました。

ChromeでFacebook開いてたら、時間で勝手に閉じるアドオンとか欲しい

3分で閉じる
1日5回までしか見れない。
それだけで十分です。誰か作ってください。

お願いします。

ChromeでFacebook開いてたら、時間で勝手に閉じるアドオンとか欲しい - おっさんディレクターブログ

というわけでつくってみました。

Facebook

上記リンクをお気に入りに登録してご利用ください。
※ ポップアップブロックに引っかかる場合は許可してあげてください。

解説

コードはこんなかんじです。

(function(){

    "use strict";

    var fb      = window.open('http://jsrun.it/kimmy/fbLimit'),
        count   = 0,
        today   = (new Date).getDay(),
        lastday = localStorage.getItem('lastday') - 0 || 0,
        LIMIT   = {
            count : 5,
            ms    : 180000
        };

    if (!lastday) {
        localStorage.setItem('lastday', today);
        count = 0;
    } if (!!(today - lastday)) { 
        localStorage.setItem('lastday', today);
        count = 0;
    } else {
        count = (fb.localStorage.getItem('count') || 0 ) - 0;
    }

    if (count > LIMIT.count - 1) {
        fb.close();
    } else {
        fb.location.href='https://www.facebook.com/';
        localStorage.setItem('count', ++count);
        setTimeout(function(){
            fb.close();
        }, LIMIT.ms);
    }

})();

3分で閉じる

window.openで開いたwindowを変数として持っておき、timerをつかって180000ms後に閉じるように設定しました。

1日5回までしか見れない。

ローカルストレージをつかって実装しました。
最後に開いた曜日と、その曜日に何度Facebookを開いたかをローカルストレージに保存しています。
なので、まるまる1週間ぶりにアクセスしようとすると同一の日と認識されて回数制限がリセットされません。
Facebookの観覧回数を制限したいと思うほどの人であれば、毎日アクセスするのできっと問題ないことでしょう。

6回目のアクセスからは、

f:id:kimizuka:20131217101144p:plain

と表示され、Facebookが開かなくなります。

アドオンがほしい

アドオンではなくブックマークレットにしました。
ローカルストレージがつかえる環境であればほとんどのブラウザで動作すると思います。


以上です。それでは快適なFacebookライフを。