サロゲートペアをJavaScriptでチェックする

サロゲートペアが含まれてるかをJavaScriptでチェックする方法を調べたときのメモ。

ユーザが入力した値にサロゲートペアが含まれていたらエラーとする要件がありましたが、どこでチェックするかに少し悩みました。画面が大量にありサーバ側でチェックするのはパフォーマンス的に不安でしたので、ブラウザ側でチェックすることにしました。

サンプルコード

また、ブラウザ側でもタイミングには迷いましたが、今回は入力欄からフォーカスが外れた時にチェックして、修正するまでフォーカスが外れないようにしてみました。

サンプルコードでは、クラス名がTESTというHTML要素のblurイベントに一括でチェックのイベントをセットしています(^^)/


IE11で開発者ツールが起動できない場合の対応

会社で貸与されているPCで、IEの開発者ツールがデフォルトでは起動できなかったので、その時の対応メモ。

現象

下図のように、メニューがグレーアウトされていたり、メニューから消されており、開発者ツールが起動できない。F12を押下しても同じく起動できない。
IE1

IE2

対応方法

上記のようなメニューの表示はレジストリで制御されているようなので、レジストリを変更する必要があります。レジストリを変更するためのregファイルは以下のサイトからダウンロード出来ます。
http://www.sevenforums.com/tutorials/152554-internet-explorer-f12-developer-tools-enable-disable.html

test 
上記の画面で2つのファイルがダウンロード出来ます。

①「Enable_IE_F12_Developer_Tools.reg」 → 開発者ツールを有効化する

②「Disable_IE_F12_Developer_Tools.reg」 → 開発者ツールを無効化する

なので、開発者ツールを有効にするには①を実行します。実行すると↓のように開発者ツールが使用できるようになります。

IE3

IE4

※レジストリを変更するので要注意or自己責任でやりましょ~。(^▽^;)


JavaScriptで子画面から親画面の関数を実行する

JavaScriptで子画面から親画面の関数をする方法です。

基本的に子画面から親画面を操作したい場合には、「window.opener」を使います。例えば、親画面のmyFunc()という関数を実行した場合には、子画面で「window.opener.myFunc()」と記述することで実行できます。

 サンプルコード

親画面

子画面

子画面で「window.opener」により、親画面のwindowオブジェクトを取得しているイメージで、そのまま続けて「myFunc()」を記述して実行します。φ(.. )


日々のSE業務で得たノウハウと趣味