[メモ]firefoxのメモリバカ食い[おまじない]

Firefox34にしてからメモリがバカ食いして、既に開いていたタブを表示しようとしたときにハングし、別windowに分離してしまうなどということが発生しまくっていました。

そこで、gigazinさんの記事を見つけ、以下の事がかかれていました。

1. アドレスバーに「about:config」と入力してEnterキーを押す
2. 開いたページ上で右クリックして「新規作成」→「Boolean」をクリック
3. 設定名を「config.trim_on_minimize」として「OK」をクリック
4. 真偽値として「true」を入力して「OK」をクリック
5. Mozillaを再起動する

今のところ、メモリのバカ食いはないみたいですので、メモメモと・・・

スポンサーリンク

[メモ]アニメーションgifのチェック[php]

おひさしぶりです。

タイトルの通り、チェック対象のファイルがアニメーションgifかそうじゃないかのチェックプログラムを・・・

で、とほほさんのGIFフォーマットの詳細を参考にしてみました。

/**
 * アニメーションGIFかチェック
 *
 * @params string $img_file   画像ファイル(画像ファイルまでのPATH付き)
 * @return bool               true:アニメーションGIF false:それ以外
 */
function checkAnimationGif($img_file) {
    if (!file_exists($img_file)) {
        // ファイルが無い
        return false;
    }
    if (!($fp = fopen($img_file, "rb"))) return false;
    $head = fread($fp, 6);
    if (!preg_match("/^GIF89a/", $head)) {
        // GIF89a 以外
        return false;
    }
    // カウント初期化
    $gce_cnt = 0;
    while (!feof($fp)) {
        if (bin2hex(fread($fp, 1)) != "21") continue;
        switch (bin2hex(fread($fp, 2))) {
            /*
            // 2014-11-06 削除
            case "ff0b": // Application Extension
                fclose($fp);
                return true;
                break;
            */
            case "f904": // Graphic Control Extension
                $gce_cnt++;
                if ($gce_cnt > 1) {
                    fclose($fp);
                    unset($gce_cnt);
                    return true;
                }
                break;
        }
    }
    fclose($fp);
    unset($gce_cnt);
    return false;
}

多分これで、チェックできるはず・・・

追記:2014-11-06
adobeのフォトショップで作成されたgifでApplication Extensionが含まれる通常のgifが作成されていることがわかりましたので
上記のソースを修正しました。

スポンサーリンク

[忘れっぽい]phpのmongoドライバーのインストール[メモ]

何気に、phpのバージョンを上げて、mongoドライバが認識されないのを2時間くらい悩んだので、メモメモ・・・

↓インストール手順
http://www.php.net/manual/ja/mongo.installation.php#mongo.installation.manual
取りあえず、前回の使ったドライバのディレクトリで手順をやっていたのでちゃんとmakeされていなかったorz

まぁ、やる前に「make clean」しろと自分に言い聞かせる・・・

あぁ無駄な時間だった・・・

スポンサーリンク

[メモ]ページにきたメッセージの取得と返信[facebook]

ちょー久しぶりの更新ですです。

↓こちらにかいてあることをメモメモです。
https://developers.facebook.com/docs/reference/api/page/

Facebookページに対してメッセージが来た場合に、そのメッセージを取得するには
『/page_id/conversations』で取得できますです。

※permissionは「read_page_mailboxes」が必要ですです。

返信する場合は
POSTメソッドで『/CONVERSATION_ID/messages』

パラメータは「message」でよろしいらしい。
あとはいつものアクセストークンとかつければいいのかな。

※CONVERSATION_IDはメッセージを取得した際の、idで「t_id.~」のようですです。まだ確かめてないよ・・・
 responseは、id(「m_id.~」)が返ってくるらしいよ

ということで、後でやってみるためのメモですた。

スポンサーリンク

[メモ]iphoneモバイルsafariでon[jquery]

おひさしぶりの更新です。

今日は、iphoneのモバイルsafariで

$(document).on('click', '.element', function(){
    console.log('hoge');
});

を実行させたかったのだけど・・・

はまったorz

andoroidとか普通にevent実行されるのに・・・
半日格闘していました。。

簡単に書くと、
htmlを表示し、都度ajaxによってデータを取得しhtmlを生成させ、その生成されたタグをclickしたら、ある特定のeventを実行させるという、チョー簡単なこと。。

結論からかくと
iphoneのモバイルsafariは、動的に生成されるhtmlタグにcssの要素「cursor:pointer;」が無いと、onでclick(タップ)イベントが取得できないということらしい。

で、headタグのstyleタグ中に該当のタグ(class)に「cursor:pointer;」を設定することで上手くイベントが取得でき特定の動きをさせることができるようになりました。
他andoroidには影響は特にありませんでした。

めでたしめでたし。。

本当にモバイルsafariに半日時間を返せといいたい。。

※多分aタグに対してclick(タップ)のイベントを取得するようにしていれば、問題に放っていなかったと思われるが、aタグなんて使わないよ・・・

スポンサーリンク