なんとなくtwitter.comのHTMLソースを見てみたら変なJavaScriptコードを見つけた。
なるほど。インラインフレームとかを使ってトップウィンドウ意外でtwitterを開くのを禁止しているので。
念のためローカルでiframeを使って試してみたらtwitterのホームに飛ばされた。
よく知られた方法なのかもしれないけど初めて知った。
以下ちょっと見やすくしたコード。
if (window.top !== window.self) {
document.write = “”;
window.top.location = window.self.location;
setTimeout(function(){document.body.innerHTML=”;},1);
window.self.onload=function(evt){document.body.innerHTML=”;};
}
web sql databaseを少しだけ触ってみた。
まだ日本語の情報がほとんどないのでw3cの仕様書を参考にする。
Introductionにコードサンプルがあるけど、そのままだと動かない罠。
chrome5で試しているのだけれど、changeVersion()がどうも動かないみたい。中途半端にエラーがでるけど期待通りに動かないので使わないことにする。
あと、当たり前かもしれないけど、openDatabase()は1回だけ呼ぶものみたい。なんどもopenDatabase()するとchromeの要素検証画面にあるDatabaseタブに
たくさんDBのアイコンがでてくる。内部的に複数のDBオブジェクトが作成されているっぽい。とりあえずグローバルスコープに専用の変数を用意して回避。
そんなこんなで出来上がった、ただ書いて読むだけのコードが下記。
var g_db = null;
function prepareDatabase() {
if ( g_db != null ) { return g_db; }
return g_db = openDatabase(“testdb05″, ‘1.0′, “testdb”, 1024*1024*5, function (db){
[...]
勉強がてらSVGで電卓。月並み過ぎる。chrome5で動作確認したので他のブラウザで動くかは謎。
imgタグだとなぜかうまく表示されないので直接リンク。
SVG電卓