【Monaca】古いAndroidのWebViewでMonacaの機能が動かなかった件

またもやMonacaネタです。

Monacaで開発をしていて、テストビルドがAndroid4.4で動かない問題が発生しました。

エラー内容は、

Uncaught TypeError: Object #<PageElement> has no method 'matches'

プログラムとしては特に大したことはしておらず、以下のようにページの判定をしたいだけでした。

document.addEventListener('init', function(event) {
    var page = event.target;
    if (!page.matches('#register-page')) {
        ~~~
    }

どうやらevent.targetの指定がうまく動作しないようです。

サポートに聞いたところ、「Crosswalk WebView Engine」というプラグインを入れることで解決しました。

これは独自のWebViewをアプリに含めることで、Androidのバージョン間の差異を吸収してくれるプラグインらしいです。

ただし、これをインストールすると5MBほどだったアプリの容量が30MBほどに増えてしまいました。

解決したのはたいへん助かったのですが、この容量の増加はさすがに考えものですね・・・

シェアする

  • このエントリーをはてなブックマークに追加

フォローする