月: 2013年1月

HTML5のwindow.postMessage()でクロスドメインでのiframe内から 親のwindowにメッセージを送る方法

HTML5のwindow.postMessage()でクロスドメインでのiframe内から
親のwindowにメッセージを送る方法。

クロスドメインのページをiframeで読み込んだときに
iframe内のページ(長いページ)が遷移したら親ページもページの
上部に移動するようにしたくて調査した。

■参考サイト
window.postMessage

window.postMessage() を使って、クロスドメインの iframe の高さを設定する検証

window.postMessage()の学習

上記のサイトを参考にして以下のようなコードを作成

■親ページ側に追加したjsのサンプル

$('#next_click').live('click', function(){
     var target = parent.postMessage ? parent : (parent.document.postMessage ? parent.document : undefined);
     if (typeof target != "undefined"){
         target.postMessage("page change", "*");
     }
});

上記でid:next_clickがクリックされたら親に「page chage」というメッセージが送られる。
※jQuery使用

■子ページ側に追加したjsのサンプル

$(function(){
        $(window).on("message", function(e){
        if (e.originalEvent.origin == 'http://許可するドメイン') {
            var data=e.originalEvent.data;
            if(data==='page change'){
                $('html,body').animate({scrollTop:0}, 400);
            }
        }
    });
})

上記で子でメッセージを受けとった際にページを上部まで移動させられる。
※jQuery使用
最初にあげた参考サイトではaddEventListenerを使っていたけど↑はjQueryで
イベントをセットしている。
jQueryを使う場合は「e.origin」や「e.data」でデータが取得できないので
「e.originalEvent.origin」や「e.originalEvent.data」でデータを取得する。
※eをconsole.dirすればわかる。

PDOでPDO::__construct(): [2002] No such file or directory … エラー

mac book air で homebrew を使ってmysqlをインストールしたけど
PDOで接続する時に以下のエラーに遭遇した。

PDO::__construct(): [2002] No such file or directory (trying to connect via unix:///tmp/mysql.sock) in …

どうもPHPが利用するUNIXソケットが見つからないということらしい。

自分の環境のUNIXソケットの位置がわからない。。。。

しばらく悩むもmysql.sockの位置の調べ方は結局以下のコマンドを叩くだけでよかった。。

$ mysqladmin version

自分の環境では「/tmp/mysql.sock」だった。
位置がわかったので、今回はとりあえずphp.iniの
pdo_mysql.default_socketを修正したら動いた。

pdo_mysql.default_socket=/tmp/mysql.sock

■参考URL
[symfony2][mac]データベース関連のコンソールでエラー

Warning Error: PDO::__construct(): [2002] No such file or directory・・・

Mac Book Airの設定メモ

明けましておめでとうございます。
今年も宜しくお願い致します。

2013年初日の出(今切れ口より)

さて、昨年の年末に念願のMac Book Airを購入したので
今まで設定したこととかをメモっておきます。

まず購入したmacのスペック
サイズ:13.3インチ
ストレージ:128GB
CPU:1.8GHzデュアルコアIntel Core i5
メモリ:4GB
■以下セットアップ時に参考にしたサイト

Mac初心者にオススメしたいMac購入後すぐにやっておくべき26の設定

MacBook を買って開発ができるようになるまで。

Mac OS X LionをWebの開発環境としてセットアップ

簡単にできる Mac OS X Lion に PHP + MySQL の開発環境を構築する方法

MAC OS10.7(Lion)の開発環境(Apache)の設定について

今年こそ始める!何度も挫折した人のためのモダンVim再入門

VimでJavaScript開発環境を整える

PHPerがMacbookAirを買ったら直ぐにすること 2012

これでMacのショートカットは完璧!全てのアプリのショートカットをCommand長押しで表示する『CheatSheet

あとはFileZillaとXtraFinder、Skypeあたりをインストールした。

それとショートカットを覚えようにも記号とキーの対応がわかっていないくらい初心者なので以下の画像で覚えました。

mac_key_symbol

あと持ち運ぶ時ようにケースも一応購入⬇の13インチ版を購入。