2015-09-01から1ヶ月間の記事一覧

JavascriptをつかってAndroidのwebviewから標準ブラウザやChromeを起動する

Androidのwebviewから標準ブラウザやChromeを起動したい場合、 インテントを送る際scheme=httpと設定someurl.orgを開く場合 window.href="intent://someurl.org#Intent;scheme=http;action=android.intent.action.VIEW;end"; ただしこのままだと、標準ブラウ…

JavascriptでUserAgentを取得する

ブラウザによってJavascriptの挙動を変えたいときなどに、UserAgetを取得する方法です。 window.navigator.userAgentから取得できます。 var ua = window.navigator.userAgent; if( ua.indexOf("iOS") != -1 ){ console.log("user agent is iOS!!"); }

Android実機からインストールされているアプリのapkファイルを抽出する

urlスキーマを調べたいときなどに、実機にインストールされているアプリのapkを入手したい場合の手順。 adb(Android SDK)をインストールした状態で $ adb shell pm list packages -f …… (ここにインストール済みのアプリ一覧がフルパス付きででる。grepなど…

cordovaのインストール

今回はjavascriptでiOSとAndroidなど向けのアプリがほぼワンソースで作れるOSS cordovaをインストールする際の手順です。 60fps必要なシビアな性能を要求するゲーム以外では手軽にアプリが作れて非常に便利です。node.jsをインストールバージョンを切り替え…

anyenvでndenvなど各種*envを一括で管理する

ndenvやrbenvなどバージョン切り替えて使うときに 各種*envを一括で管理するツール anyenvをつかう $ git clone https://github.com/riywo/anyenv ~/.anyenv $ echo 'export PATH="$HOME/.anyenv/bin:$PATH"' >> ~/.bash_profile $ echo 'eval "$(anyenv ini…

Android複数端末を接続しているときに端末指定してadbコマンドを実行する方法

Android複数端末を接続しているとき(シミュレータ含む) 端末指定してadbコマンド実行する方法 adb -s <specific device> install <apk filename>specific deviceにはadb devicesで表示された名前を-sオプションに指定するこの例だとこうなる $ adb devices List of devices attached XXXXXXX</apk></specific>…

node.jsが早くもv4.1.1になっていました

このあいだio.jsとの初の統合バージョンv4.0.0が出たばっかりですが node.jsが早くもv4.1.1になっていました。セキュリティ関連の修正が入っているようなので、 4.1.0を使っている人はアップデートしたほうが良いらしいです。This release contains some min…

node.jsでjQueryのDeferredを使う

node.jsでasyncが使いづらいのでjQueryのDeferredを使えるようにする。jquery-deferred npm install jquery-deferredあとは $ = require('jquery-deferred');とすれば同じようにつかえます。 var delay = function(){ $ = require('jquery-deferred'); var d…

JarをJavaのソースコードにデコンパイルする

Jarの挙動を変えたいけれど元のソースがない時Java Decompilerでデコンパイルすればソースコードを得られる。

javascriptで数字の0埋め(padding)をする

数字の「12」を「012」のように0埋めたい時String.prototype.slice()をつかって var num=12; result = ("000"+num).slice(-3);// "000"+"12" -> "00"+"012" -> "012" のように一旦埋めたい文字列を先頭に連結して後ろから必要な分、部分文字列を切り出すと実…

CentOS6にphantomjsをインストールする

yumでビルドに必要な依存するライブラリを入れておく sudo yum -y install gcc gcc-c++ make flex bison gperf ruby \ openssl-devel freetype-devel fontconfig-devel libicu-devel sqlite-devel \ libpng-devel libjpeg-devel phantomjsのビルド git clone…

Javascriptで手軽にdeep copyする

下記のように一度JSON.stringify()でjsonの文字列にしてからJSON.parse()でobjectに戻すと 簡易的にdeep copy、つまりcloneできる。 var clonedList = JSON.parse( JSON.stringify(l) ); 実装shallow copyとdeep copyの比較サンプルコード var list = [0,0,0…

シェルのechoで改行する

echoに -eオプションをつけると改行コードが使える echo -e "line1\nline2"ダブルクオートでくくらないと\nは改行にならないのでご注意。

window.onload = function(){};みたいなコードはよしたほうがよいとおもいますた

こんな風にwindow.onload = function(){}を複数回書くと'proc1'の処理は実行されない window.onload = function(){ console.log('proc1'); }; /* some process... */ window.onload = function(){ console.log('proc2'); };// onload event has overwritten …