Flexでのやり方は以下

Actionscript:
  1. Application.application.parameters

Flash(AS3)の場合
以下、hogeパラメータを取得する例

Actionscript:
  1. var flashVars:Object = this.loaderInfo.parameters;
  2. var hoge:String = flashVars['hoge'];

  • Share/Bookmark

Tags: ,

hideito on 8月 13th, 2010

SQLResult.lastInsertRowIDで取得できるみたい。
知らなかった・・・
http://www.adobe.com/livedocs/flex/3_jp/langref/flash/data/SQLResult.html#lastInsertRowID

  • Share/Bookmark

Tags: , ,

AIRのプログラム内からアプリ定義ファイルに設定しているアプリIDやバージョンを取得して使用したい場合は以下

Actionscript:
  1. var appDescriptor:XML = NativeApplication.nativeApplication.applicationDescriptor;
  2.     var ns:Namespace = appDescriptor.namespace();
  3.     var appid:String = appDescriptor.ns::id;
  4.     var appVersion:String = appDescriptor.ns::version;

  • Share/Bookmark

Tags: , ,

リッチテキストエディタ等で入力したHTMLテキスト文字列を通常テキスト文字列状態にしたい場合は、いろいろやり方あるかもしれないけどLabelコンポーネント使ってやってみた。

Actionscript:
  1. //HTMLテキストを通常テキストへ変換
  2.     var label:Label = new Label();
  3.     label.visible = false;
  4.     this.addChild(label);
  5.     label.htmlText = htmlText;
  6.     label.validateNow();
  7.     contentComment.text = label.text;
  8.     this.removeChild(label);
  9.     label = null;

labelコンポーネントを一時的に生成して、htmlTextプロパティにHTMLテキスト文字列セット。
一旦、label.validateNow();でlabelを更新してからlabel.textを取得すると通常テキスト文字列が取得できる。

  • Share/Bookmark

Tags: , , ,

<問題点>
JavascriptでHTML5のvideo(またはaudio)タグを動的に生成して表示するページをiPhoneOS3で閲覧すると、videoの表示位置がおかしくなるケースがある。
(CSSで指定している位置からずれた位置に表示される。)

タップしたりフリックしたりしてブラウザの画面描画処理が動作すると正しい位置に表示される。

※iOS4およびiPad(iPhoneOS3.2)では問題なし。

<解決方法>
video(またはaudio)タグを動的に生成する際に、videoタグのCSSで「visibility: hidden;」に設定しておき、htmlレンダリングが終わった段階(画面表示させたいタイミング)で「visibility: visible;」に設定したところ改善された。
  • Share/Bookmark

Tags: , ,

iPhoneOS3でtranslate3dが動かないケースがある。

<条件>
translate3d動かそうとしているdiv要素にclassを設定し、CSSでこのclassに「position: absolute;」と書くとなぜか動作しない。

※iOS4をインストールしたiPhone3GSとiPadではこの現象は発生しない。

<追記>

いろいろやってみた結果、根本的な解決方法は移動対象のdiv要素の親要素に「position: absolute;」を設定することでした。はっきりとは分かりませんが、CSSの座標系プロパティに影響を受けるようです。
  • Share/Bookmark

Tags: , , ,

hideito on 7月 5th, 2010

http://journal.mycom.co.jp/special/2009/html5-2/007.html

●localStorage … オリジン(プロトコル + ドメイン + ポート)ごとに異なるストレージとなる。複数のウィンドウをまたいでストレージは共通。ウィンドウが閉じられてもデータは消失しない

http://www.ninxit.com/blog/2010/03/22/...

●localStorageは文字列がしか保存できないから構造体等はJSON文字列で保存する

  • Share/Bookmark

Tags: ,

HTML+javascriptで作成した縦に長いページを

iPhone/iPodのSafariに表示させた際、ページの下部を閲覧後、

上部へめいいっぱいスクロールさせた際にURLツールバーが表示される。

上部へスクロールさせた場合、URLツールバーが表示されることを防ぐことはできないが、javascriptでURLツールバーが表示されたら1.4秒後にURLツールバーを強制的に非表示にすることで、画面を広くできる上にURLツールバーに入力したい場合に操作の邪魔をしない程度の動きとなりそう。

JavaScript:
  1. //jQuery使用
  2. //スクロールした際にcheckScroll()を実行する。
  3. function checkScroll(){
  4.   var sy = $(window).scrollTop();
  5.   if (sy == 0){
  6.     window.setTimeout("hideToolBar()", 1400);
  7.   }
  8. }
  9.  
  10. function hideToolBar(){
  11.   var sy = $(window).scrollTop();
  12.   if (sy == 0){
  13.     $(window).scrollTop(0);
  14.   }
  15. }

  • Share/Bookmark

Tags: ,

スクロール中のイベントがとれない!!

http://shitappaprogramer.seesaa.net/article/140817780.html

http://wiki.sohaya.com/index.php/MobileSafariの制限

  • Share/Bookmark
hideito on 5月 26th, 2010

仕事でFMSを使用してドキュメント共有するアプリを修正していたんですが、2つ以上のブラウザで共有した際に、片方のブラウザでドキュメントのスケールや表示位置の変更操作をしてると、ドキュメント共有に参加しているいずれかのブラウザが突然クラッシュすることがありました。

あきらかにブラウザプラグインのFlashPlayerがクラッシュしている模様。

しかし理由全くわからず。。。

http://kb2.adobe.com/jp/cps/235/235710.html

このテックノートを確認してみたが、それでも理由わからず。

しょうがないので、プログラム上で怪しそうなところに片っ端からtrace文をかきまくり、FlashTracerでtrace文をウォッチしながらFlashPlayerがクラッシュする操作を行い、FlashTracerに書き出された文字列をチェックすることを一日繰り返しました。

<原因>

flash.geom.Point型のクラス変数に値をセットする処理で以下のように書いていたら、なぜか稀にFlashPlayerがクラッシュする。毎回ではない。プログラムの書き方の問題かと何度も見直したが、このクラス変数および内部の変数もロックするような処理はしていない。普通に使っていた感じです。

Actionscript:
  1. _targetPoint.x = val_x;
  2. _targetPoint.y = val_y;

理由は全くわかりません。

<改善策>

理由はよくわかりませんが、以下のように書いたら直った様子。(結果的にクラッシュしなくなった。)

Actionscript:
  1. var tempPoint:Point = new Point(val_x, val_y);
  2. _targetPoint = tempPoint;

  • Share/Bookmark

Tags: