FlashとDBの連携方法いろいろ

FlashでDBのデータを扱おうと思ったら、すぐ考えられたものだけでいくつもあった。

「FlashとDBの連携」なんて言うと特別なようだけど、要はViewにFlashをもってきた単なるWebアプリケーションの方法論。そりゃあ、こんな時代だもの、方法いろいろあります。やるときはやる。やれないときはやれない。つまるところ、永久不滅ポイント。あの大車輪のおじいちゃん見ていると、がぜん勇気のわいてくる今日この頃です。

さて、FlashでDBのデータを表示させるための可能性を、メリット/デメリットは置いておいて、とりあえず列挙。

  • Flash Remoting
  • SOAP + WebService
  • REST + XML.load()
  • JSON + LoadVars
  • 単純にXML読み書き
  • パラメータ渡し(無いな…)

リクエストごとDBに問い合わせて、結果をXMLなりJSONで返すという方法については、まるっきりAjaxなわけだけど、リクエスト内容がパターン化できる場合は、RSSのようにXMLをDBのキャッシュ機構のように使うこともできそう。つーか、XMLを簡易DBにすれば良いのか。DBの更新頻度が高くなければ、ファイル制御やIOのネックも気にならないし、ありかもなあ。

ちなみに、サーバサイドで何を使うかも迷うところ。perlでもPHPでもXML操作はゴリゴリいける。一般的な技術ほど、選択肢が広がって迷いが起こる。うーむ。

ここは性能要件やらサーバ環境などをトータルに見て考えないといけないってか。考えているうちに、コーディングしちゃった方が早い気もするけど。まあ、ササッとやっつけちゃおう。

SSL対応Google Analytics

httpsな環境でGoogle Analytics用コードを埋め込んでいると、IEでアクセスしたときに次のようなアラートウィンドウが開く。

ie_alert.gif

「このページにはセキュリティで保護されている項目と保護されていない項目が含まれています。」と、ちょっと親切なふりをしているが、これってユーザーに何かメリットがあるんだろうか。どちらかと言えば、煩わしくて邪魔だと思うんだけど…。

気になったので調べたら、回避策があった!

Google AnalyticsをHTTPS(SSL)なページで使う

× http://www.google-analytics.com/urchin.js
○ https://ssl.google-analytics.com/urchin.js

SSL対応のUrchinサーバーがちゃんと用意されているとは、さすが。

DOCTYPEでjavascriptの挙動が変わるなんて

実験的に書いていたスクロールいじり系のスクリプトが、アプリケーションに組み込んだ途端に動かなくなった。scrollTopの値が常に0になる。むむぅ。

ハマりそうになって調べたら、どうもDOCTYPEによって、scrollTopの参照の仕方を変えないといけないとのこと。DOCTYPEの変更でjavascriptの挙動まで変わるとは思わなかった。理屈を言われれば道理が通るけど、しかしこれは反応できないッス…。

DOCTYPEを指定しない場合は、

document.body.scrollTop

DOCTYPEを指定する場合は、

document.documentElement.scrollTop

これで値を取得しないと、正しく参照できないと。他にもこの手のプロパティは同じような動作するんだろうなあ。覚えておかないと、ハマりそう。

参考:ブラウザのスクロール量を取得するには?


最新エントリー
FlashとDBの連携方法いろいろ
SSL対応Google Analytics
DOCTYPEでjavascriptの挙動が変わるなんて
あわせて読みたいブログパーツ