音楽系Webエンジニアを目指すブログ

音楽系Webエンジニアを目指す普通のエンジニアが普段の日常を日記として書いていきます。

サニタイジング(エスケープ)

HTMLの「<」や「>」は、特殊文字として機能し、ブラウザは「<」と「>」で
挟まれた部分を「タグ」として認識します。

<strong>特殊文字列</strong>

上記のHTMLをサニタイジング(エスケープ)すると以下のようになります。

&lt;strong&gt;特殊文字列&lt;/strong&gt;

PHPではAPIで用意されている「htmlspecialchars」関数が、文字列を
サニタイジングエスケープ)してくれます。
htmlspecialchars($str, ENT_QUOTES, ‘UTF-8′)

JavaScriptでのユーザーエージェントの判別

JavaScriptでユーザーエージェントを判別するには 以下のようにします。 (モバイル端末の場合)

    var userAgentVal = navigator.userAgent.toLowerCase();
     
    // iPhoneの判別
    var isIPhone = (userAgentVal.indexOf('iphone') > -1);
    // iPadの判別
    var isIPad = (userAgentVal.indexOf('ipad') > -1);
    // Androidの判別
    var isAndroid = (userAgentVal.indexOf('android') > -1) && (userAgentVal.indexOf('mobile') > -1);
    // Android Tabletの判別
    var isAndroidTablet = (userAgentVal.indexOf('android') > -1) && (userAgentVal.indexOf('mobile') == -1);

Javascriptでの画面サイズによる分岐処理

Javascriptで画面サイズによる処理を分岐したい場合、
jQueryを使い以下のようにします。(PCとモバイル端末の場合)

<script type="text/javascript">
jQuery(document).ready(function($) {
    //PC環境の場合
    if (window.matchMedia( '(min-width: 769px)' ).matches) { //切り替える画面サイズ
             〜
    //モバイル環境の場合
    } else {
             〜
    };
});
</script>

Railsのコマンド

Ruby on Railsで私がよく使うコマンドを 以下に纏めてみました。

#サーバの起動
rails s
#アプリケーションの作成
rails new myapp
#コントローラの作成
rails g controller Projects
#コントローラの削除
rails destroy controller Projects
#DBのコマンドラインツール起動
rails dbconsole

IEはプルダウンの項目を非表示にできない

chromeでは大丈夫ですが、IEjQueryの.hide()でプルダウンの
option要素を非表示にできません(^^;;
なので、プルダウンを非活性にするなどの別対応が必要です。
以下はプルダウンを非活性にする処理です。

$('.testPulldown').prop('disabled', true);
〜
<option value="0"  class="testPulldown" selected>あり</option>