私は個人用のシンプルな RSS リーダー アプリに取り組んでいます。これは完全なハックですが、個人的に使用しているだけです。私が解決しようとしている問題は、私が読んで RSS フィードを取り込んでいるサイトにモバイル インターフェイスがなく、各ページが非常に重い広告でいっぱいになっていることです。シンプルなアプリでこれのいくつかを修正できると思います。
アプリで記事をクリックすると、そのページの Web ビューが開きます。広告はすべてページロード時に JS によってロードされるため、onPageFinished が呼び出されるまで Web ビューで JS が使用されないようにします。これにより、ページのロード時間が大幅に短縮されます。したがって、これらの記事のページ構造は決して変更されず、私が望むものを正確に継続するノードがあるので、この時点で JQuery をロードして DOM を分解し、より単純な構造を作成してから、独自の css を適用してそれを作成したいと思いますよりモバイルフレンドリー。
テストとして、JS を正常にロードし、次のように webview でページを変更できます。
view.loadUrl("javascript:(function() { " +
"document.body.style.background = 'red'; " +
"})()")
それはうまく機能し、ページの背景が赤くなります。だから今、src値をローカルファイルに向けるスクリプト/スタイルタグを挿入しようとしています。ここで相対ファイルパスを作成する方法がよくわからないので、それが問題かもしれません。私はこのようなものを試しました:
view.loadUrl("javascript:(function() { " +
"var head= document.getElementsByTagName('head')[0]"+
"var script= document.createElement('script');" +
"script.type= 'text/javascript';" +
"script.src= '/android_asset/js/articleSetup.js';"+
"head.appendChild(script); "+
"})()");
次のように、webview で同じファイルを開くことができます。
view.loadUrl("file:///android_asset/js/articleSetup.js");
しかし、必要なのは、新しいファイルをロードするのではなく、DOM を操作できるようにそのまま webview に挿入することです。
任意の提案をいただければ幸いです。前もって感謝します。