Code

2014年6月10日火曜日

関数の Call Stack in JavaScript

 最近 Back end の仕事にはまってて、Java はちょっと使いにくいなと思いました。やはり、JavaScript がいいですねと。:)
 今日、Safari の Web Inspector が iOS でのデッバグができなくなったことを発見しました。。。なんでだろうね。
 どうしても、関数のコールスタックを見たくて、ちょっと調べてみました。一般的に arguments.callee.caller から親関数が見つかります。
 または new Error().stack をコンソールで出力すれば、一連のコールが見えます。試してみたら、この Error が mobile webkit では定義していないようです。arguments.callee.caller を使うしかないです。

 実際の問題点は、うちのアプリは一回三つの画面をレンダリングするので、その一つは HTML フォーマットの動画CM です。それで、実際その画面が表示されたら、 CM を起動したいです。ただ、JS では自分は表示されているかどうかわからないので、iOS と Android の native コードで検知しています。画面が表示されたら、CM の Start 関数を native コードで呼び出して、動画を始めさせます。このタイミングと実際何所で呼び出されたかを知っている方は知っているが、他のあたらしい開発者はわからなくて、何かいい方法がないかを考えています。。。

 まず、ここまで。

0 件のコメント:

コメントを投稿