node.jsで組み込みのメソッドを見る方法
例えばObjectのメソッドを確認したいときは
console.log( util.inspect({}.__proto__, true, null) );
でおk。
例えばObjectのメソッドを確認したいときは
console.log( util.inspect({}.__proto__, true, null) );
でおk。
なんかinput[type=”number”]のときに右に変なすきまができる。どうもPCのときに表示されるコントローラーの部分がでないんだけど幅だけは確保されてるんじゃないか的な疑い。
回避するにはこれでいける。
input[type=”number”]::-webkit-outer-spin-button {
display: none;
}
なんぞ。
ので、hashchangeプラグインいれるべし。
https://github.com/cowboy/jquery-hashchange
jquery mobileにもこれ入ってた。
iPadで、再生と同時にフルスクリーンモードにしたい。でもできないかも。
videoにwebkitEnterFullscreenっていうメソッドがあるんだけど、何かのボタンを押したときに、再生とフルスクリーンを同時にできないっぽい。
1、2の理由から
video.addEventListener(‘loadedmetadata’, function() { video.webkitEnterFullscreen() });
$(‘.btn’).click(function() { video.play(); });
ってやらないとダメなんだけど、3の理由からloadedmetadataイベントの実行はclickイベント内で実行されたことにならずにエラーになる。
ツンダかも。
再生中(loadedmetadata発火後)にフルスクリーンモードにするのは簡単で。これでOK。
$(‘.btn’).click({
video.webkitEnterFullscreen();
});
仕様はこの辺。
なんかChromeでは動くけどiOSでDateがinvalid Dateとかになってたのでなんぞと思ってしらべたら結構ブラウザごとにパースできるのが違うみたい。Safariは結構厳しい。
以下に詳しくのってた。
http://d.hatena.ne.jp/naoyes/20101107/1289105967
動作チェック用。
http://dl.dropbox.com/u/336104/demo/ios_date/index.html
今から3日後とかを算出するときに
Date.now() + 3 * 24 * 60 * 60
とかしててなんか合わないと思ってしばらくはまった。
Date.now() + 3 * 24 * 60 * 60 * 1000
が正しいです。なんかPerlとかPHP書いてたときの癖で秒と思い込んでた。
はまったというかメモ。mod_rewriteとかひさしぶりに書いたよ。
RewriteEngine on
RewriteCond %{HTTP_USER_AGENT} (iPhone|iPod|Android)
RewriteCond %{HTTP_USER_AGENT} !iPad
RewriteCond %{HTTP_USER_AGENT} !Android\s(1.|2.[01][^\d])
RewriteCond %{QUERY_STRING} !mode=pc
RewriteRule ^pc$ sumaho
ってなかんじ。?mode=pcとかつけとくとPCモード。なんかiPadのUAに一部iPhoneという文字列が入ってるのがあるらしいので一応iPadを除いとく。
iPadのUserAgentにiPhoneという文字列が含まれるとか含まれないとかで調べたけどよくわからんかった。3.2系のバージョンであるとかないとか。よくわからん。
jsで判別するときはnavigator.platformも見る方がよさげ。senchaとかそうしてるらしい。
なんか色々条件が複合するとiOS4.1で再生できない。具体的には
という条件が重なると再生できなかった。こんか感じのソースだとダメ。
var video = document.createElement(“video”);
var source = document.createElement(“source”);
source.setAttribute(“src”, src);
video.appendChild(source);
video.load();
document.getElementById(“container”).appendChild(video);
画像をcanvasでdataURIにしようと思って以下のように書いてみた。
function img2base64(img) {
var canvas = document.createElement(‘canvas’);
var ctx = canvas.getContext(‘2d’);
ctx.drawImage(img, 0, 0);
return canvas.toDataURL();
}
同一ドメインの画像だといけるけど外部ドメインの画像でやろうとするとエラった。
Error: SECURITY_ERR: DOM Exception 18
仕様らしい
http://www.whatwg.org/specs/web-apps/current-work/multipage/the-canvas-element.html#security-with-canvas-elements
ちっ
追記:
phonegapからだったらいけた