2017-07-06 8 views
0

私はCordovaでモバイルアプリを開発中です。ユーザーがアプリケーションを起動すると、サーバーからデータを読み込むためにノンブロッキング関数を起動したいと思います。この機能には数秒かかることがあります。Cordovaの複数の画面でjavascriptタスクを実行する方法

私はleecrossley/cordova-plugin-background-taskプラグインを使用しています。私は機能を開始したページにとどまるとうまく動作します。ページを変更すると、機能が停止します。

どのような考えですか?

  • ジョン

答えて

0

は、Webビュースロットリングが発生しているかのようにね! CordovaはChromium Webエンジンを使用するため、通常はクロムブラウザに実装されているすべてのパフォーマンス設定に従います。

あなたがここにスロットルの問題に関するいくつかの詳細を読むことができます: https://thenextweb.com/apps/2017/01/26/chrome-throttle-background-tabs-google/#.tnw_WIKDX2EX

あなたの問題を解決するには、アプリケーションの中核として機能するように、メインページを作成するために

です。このメインページは常に開いているので、新しいページが読み込まれたときにスクリプトが停止するのを防ぐことができます。アプリページの場合

、私はどちらかをお勧めします:

はiFrameを介して、あなたのメインのアプリページにそれらの外部のページをロードした後、アプリページごとに個別の.htmlファイルを作成...のSRC iFrameはjavascriptで更新できます。 (この方法の欠点は、あなたがメインページを-fromあなたのiFrameの内部で発生するイベントを監視し、制御するための追加のJavaScriptを記述する必要がありますということです。)

または

非常に構築しますビッグシングルページアプリケーション。 div内のすべてのアプリケーションページをラップして、表示されるページと表示されないページを管理するjavascripメニュー関数を作成します。 (大量の.htmlページが表示される可能性がありますが、この方法では、デバイスが一度に処理できる任意の数のノンブロッキングスクリプトを実行できます)。< - これは、私が3年以上使ってきたメソッドです。必要に応じて特別なページモジュールを追加するiFramesもいくつか追加します。外部ファイルからCSSとJavaScriptを読み込むことができます。

私は実際にこのコードページの開発者がこの単一ページの方法を使用していると思います!

+0

詳細な回答をいただきありがとうございます。私はそれを調べて、これらが私のために働くかどうかを見ていきます。私はかなりかなりの既存のアプリを持っています。 –

+0

問題ありません。それが助けられたら教えてください! –

関連する問題