1

バックストーリー(または私がやろうとしていること)

私のアプリには、アセットフォルダーから html ファイルをロードする webview があります。ファイルには 2 つの iframe があります。

次に、ユーザーはアプリにいくつかの zip ファイルをインポートします。これには、これらの iframe に読み込まれる追加のファイルが含まれています。これらのファイルをロードするには、file:// URL をメイン ページ (2 つの iframe を含むページ) の JavaScript 関数に渡します。残りは JavaScript です。次に、メイン ページは、ユーザー ファイルが iframe に読み込まれた後に、いくつかの追加の js と JavaScript を挿入します。すべてが正常に機能しています。

問題

大丈夫だ。ファイルが xhtml ファイルの場合を除きます。挿入された JavaScript には、ファイルが text/xhtml としてロードされたときに機能しない dom 操作関数がいくつかあります。クロム組み込みフレームワークを使用する同じアプリの PC バージョンがあります。text/html MIME タイプですべての xhtml ファイルをロードするカスタム リソース ローダーを作成することで、その問題を解決しました。

これまでに試したこと

私はアンドロイド版で同じことをしようとしました。ただし、Java側のwebview内のiframeをターゲットにする必要はありません。

shouldOverrideUrlLoading(WebView view, String url).xhtml url の場合は trueを使用して返します。私は(CEFの関数の対応物のため)その関数の最初の引数は iframe であり、使用されると思いましたloadDataWithBaseUrl。iframe ではなく、メインの webview 自体であることが判明しました。

質問

同様の機能を使用して、Javaからiframeにデータをロードする方法はありますか? そうでない場合は、そのようなファイルを text/xhtml の代わりに text/html として転送することについて何か提案はありませんか。

または、JavaScript側でできることはありますか?

4

1 に答える 1