IT

hashchangeとfancyboxでブラウザバックがうまくいかない

ブラウザバック対応でjsでhashchangeイベントを使用しいている場合で、fancyboxのiframeを併用していると思うようにブラウザバックが行われないケースがある。

fancyboxはモーダル表示するjsのライブラリです。

原因

原因は、fancyboxで表示したモーダルを閉じた時に、ブラウザの履歴が記録されてしまうため。

fancyboxを閉じるときに、$.fancybox.close()が実行されているのだが、そのときにiframeのsrcを変更している箇所がある。
なんと、iframeのsrcを変更すると、ブラウザの履歴が記録されてしまう。同じハッシュで・・・

そのため、fancyboxを閉じた後にブラウザバックすると、ハッシュは変わらないのに1つ前のリクエストに戻ろうとするので、おかしな動作になる。ブラウザによっては起こらないみたいだが・・・firefox、chromeはダメだった。

対応

いろいろ試した結果、fancyboxのライブラリを修正することに。

jquery.fancybox-1.3.4.js 945行目あたりの$fancybox.closeファンクションの中

元のソース

content.find('iframe').attr('src', isIE6 && /^https/i.test(window.location.href || '') ? 'javascript:void(false)' : 'about:blank');

修正後のソース

if (isIE6 && /^https/i.test(window.location.href || '')) {
content.find('iframe').attr('src', 'javascript:void(false)');
} else {
if (content.find('iframe')[0]) {
content.find('iframe')[0].contentWindow.location.replace('about:blank');
}
}

修正する場合は、自己責任で要確認してください。

wordpressで関連記事を表示する方法

テーマによっては、投稿ページに関連記事が表示されない場合があります。
そんな時に関連記事を表示する方法をメモ。

「WordPress Related Posts」というプラグインで実現可能です。

こんな感じの
related-post-sample.png

以下、手順

続きを読む

Google photosの画像をwebサイトで使用する方法

google photosにアップロードした画像をwebサイトで使用(表示)する方法

☆2016/10/05 追記
以下の方法だとたまに画像が表示されなくなることが・・・
wordpressを使用している方はこちらを参考に → 【wordpress】Googleフォトにある画像を表示するプラグイン

1.Google photsのフォトに画像をアップロード

googlephotos-list.png

2.アップロードした画像をクリック

3.画像を右クリックし、「画像URLをコピー」をクリック

googlephotos-detail.png

4.imgタグのsrcにコピーしたURLを張り付け

webサイトで使用する場合はアルバムを作成し、画像をまとめておくとわかりやすく探しやすいと思います。

google photosが容量無制限になったので、重宝しそう!

wordpressの一覧で「続きを見る」を表示する方法

more.jpg

wordpressで記事投稿すると、TOPページ等で一覧表示されるテンプレートがあり、記事が長いと一覧が長くなってしまうときがある。

そんなとき、記事の途中で「続きを見る」等のリンクを表示することが可能。
リンク文言はテンプレートによって違ってくるので「続きを見る」だったり、「さらに見る」だったり・・・

「続きを見る」リンク表示方法

記事投稿の本文にmoreタグを挿入。
moreタグを挿入した箇所に「続きを見る」リンクが表示される。

moreタグは、本文入力欄の上部にある「more」ボタンをクリックするか、「<!–more–>」を直接入力。

PHP7が2015年11月にリリース予定

以下は2015.07.02の記事です。
一度消えてしまったので、日付が変わってしまっています。

パフォーマンスが向上しているPHP7

2015年11月リリース予定のPHP7。もうすぐでリリースです。
PHP5からPHP7へのバージョンアップで、PHP6が出なかったのはURF-16の実装が厳しくなったためのようです。

PHP5からだいぶ期間をおいてのバージョンアップになりますが、パフォーマンスが向上している模様。
PHPは遅いと言われていますが、PHP7はPHP5の2倍近くの速度で、Facebookが出しているHHVMと同等くらいとのこと。

これは期待しちゃいます。
最近はPHPの新規案件が減ってきたように思うので、これで状況が変わるかもしれませんね。
エンジニアの方は今後の動向に要注意!

PHP7の新機能

EngineExceptionという新しい致命的エラーの例外が出来た
 例)$hoge = $arr[‘abc’] ?? ‘デフォルト’;
   $arr[‘abc’]がnullでなければ$arr[‘abc’]を、nullであれば’デフォルト’を返す。
   未定義の場合にも有効なので、issetする必要なし。
関数の返却値に型を指定できる
新しい演算子「??」誕生。nullでなければ比較した値を、nullであれば、初期値を返却
新しい演算子「<=>」誕生。2つの値を比較し、等しい場合:0、左が大きい:正の値、右が大きい:負の値を返却
無名関数をその場で呼び出せる
名前空間のuseをまとめて複数書ける
除算の新関数「indiv」誕生(https://wiki.php.net/rfc/intdiv
 あまりではなく整数部分の取得が出来る
などなど

rfc(英語)
https://wiki.php.net/rfc

PHP7をリリース前に使いたい方

gitからソースを取得して使用する
参考:Qiita(http://qiita.com/pemopemo/items/9e0170251d45ed1b8818

2016/10/07 追記
だいぶ速度向上しているようです、PHP7!
変数の型指定が重要だとか。

速度でhhvmと良い勝負をしているという記事もちらほら見かけます。
hhvmも速度はかなりいいんですね!

さらに、C拡張の爆速フレームワーク(phalcon,ice framework)を組み合わせて、早いWebサービスを作りたいですなー
PHPでどこまで速度を出せるか!!

スマホアプリのindexについて(App Indexing)

App Indexingとは

自分のウェブサイトのページを、スマートフォン アプリ内の特定のコンテンツに結びつけることができます。
これによって、そのアプリをスマートフォンにインストールしているユーザーは、Googleのモバイル検索で関連する結果から、アプリを直接開くことができます。

indexさせる方法について

Googleが提供している「App Indexing」というサービスを使用することでGoogleのモバイル検索にindexさせることが可能

App Indexing
公式:https://developers.google.com/app-indexing/webmasters/

App Indexingが利用可能な端末条件

Android 4.1 以上
Google検索アプリ バージョン 2.8 以上を使用
Android のモバイルブラウザを使用しているログイン済みのユーザー
(iphoneは今後のバージョンアップで対応されるかも?)

App Indexingの検索ランキング影響範囲

そのアプリをインストールしているユーザーがサインインしている状態で検索すると、
インデックスされているアプリコンテンツが上位表示されやすくなる

フリー素材アイドルMIKA☆RIKA 私たち、無料です。is Goooooood!

outdoor_34_mikarika.jpg

フリー素材アイドルMIKA☆RIKA 私たち、無料です。

!?

なんだこれはっ!!って初め思いました(笑)
無料の画像や音声の素材が無料、しかもアイドルの・・・・

かなりしっかりした素材が無料・・・そしてかわいい・・これは、使うしかない!
1000点以上の無料素材があるので選ぶのも大変w

編集・加工もOKとのこと。

数ある素材から一部ご紹介!

続きを読む

Googleスプレッドシートのプルダウンリスト作成方法

Googleスプレッドシートでのプルダウン作成方法。

こんなの
google-spreadsheet-pull-down.png

以下、手順

1.メニューの「データ」>「確認」をクリック

google-spreadsheet-data-comfirm.png

2.データ検証の各項目を入力

google-spreadsheet-data-validate.png

セル範囲 プルダウンを作成するセルを指定
条件 プルダウンに表示するリストを指定
(リストを範囲で指定の場合:リストを記述したセルを選択、
リストを直接指定の場合:右のテキストボックスにカンマ区切りで入力)
無効なデータの場合 無効なデータを入力した場合の動作を指定
デザイン プルダウンリストのデザインを指定

3.保存をクリック

以上

FC2ドメイン設定

このサイトでドメイン契約しないとなーと思っていて、「まずは安いほうがいいでしょ」ってことで、FC2ドメインで契約!!

「.com」、「.net」などgTLD(一般トップレベルドメイン)が登録料金910円/年、更新料金910円/年です。(2015年5月現在)

無事に契約を済ませ、FC2ヘルプに

Q.ドメインを取得したらすぐにホームページで利用できますか?
A.ドメインを取得してすぐはDNS情報が反映されていないため、サーバー側で設定を行ってもすぐに見ることはできません。DNS情報が反映されるまでには、最大72時間程かかります。

あったので、何もせずに72時間。。。変わらないです(汗)

ヘルプを調べて、設定しました。
サイトのサーバをServersMan@VPSにしていて、自分で管理するネームサーバがない状況は、googleで調べてもあんまり情報なかったので、手順を載せておきます。

1.FC2ドメイン>DNSの設定>DNSの種類を「代行DNS」に変更
fc2-domain-dns.png

2.FC2ドメイン>DNSレコードの設定>IPアドレスをサーバのアドレスに変更
fc2-domain-dns-ip.png

3.MyDTIログイン>契約中サービスタブの確認・変更ボタン>【VPSサーバ情報】の他社管理ドメイン設定>契約したドメインを入力
fc2-domain-domain.png

以上。

Apacheの「Testing 123..」ページを非表示にする方法

apache-test-page

welcome.confの以下の部分をコメントアウトすることで、apacheのtest page(Testing 123..)を非表示(Forbidden)にできる。

コメントアウトは、#。

welcome.confの場所は「/etc/httpd/conf.d/」

#<LocationMatch "^/+$">
#    Options -Indexes
#    ErrorDocument 403 /.noindex.html
#</LocationMatch>

上記修正後に、apacheの再起動を忘れない!

$ apachectl restart

以上で終了です。
apacheのtest pageが表示されず、Forbiddenが表示されていると思う。

apache-test-page-forbidden.png