質問: 現在、Monacaを利用したスマホアプリ開発を行っており、いくつかのページで 読み込み完了した時点で走らせたいロジックがあるのですが どうやって取得するのかわかりません。 今までこの手は、$(window).load(function(){} で大体なんとかなりましたが 今回は ons-navigator にある ons-page 内の処理となり同じ手が使えないので 質問した次第です。 知りたいのは以下の2パターンです。 1.iframe内の外部サイト読み込み完了時 2.imgの読み込み完了時
回答: OnsenUIの初期化について どのように実装しているか分かりませんがAngularJSから呼び出している場合は 下記のようにすることでOnsenUIの初期化終了イベントを取得できます。 ``` module.controller('PageController', function($scope) { ons.ready(function() { // Init code here }); }); ``` **iframeの初期化について** iframeにはonloadイベントがあるので windowではなくiframeにloadを置いたらどうでしょうか? 本家SOのこちらも参考になるかと思います。 ``` var iframe = document.getElementById("iframe"); iframe.onload = function () { alert("iframe on laad."); } ``` **画像の初期化について** 画像のソースを動的に変更するのであれば、スクリプト内で読み込み出来たか確認しましょう。 静的なものであれば、上記のiframeと同じ対処でもいいと思います。 ``` $(window).load(function() { console.log("start : " + (+new Date())); $("#target").attr({ "src":"http://dummyimage.com/2000x2000/000/fff" }).one("load", function() { console.log("load complete : " + (+new Date())); }).each(function() { if(this.complete) $(this).load(); }); }); ``` ``` ```