AndroidWebViewとJavaScriptを利用するアプリケーションがあります。WebViewClientがを呼び出すとonPageFinished()
、JavaScriptに初期化メソッドを実行するように警告します。を押す前に、JavaScriptが有効になってロードされていonPageFinished()
ます。
そのJavaScriptメソッドで私はを利用しwindow.innerWidth
ます。ただし、返される値は常に間違っており、常に同じです。向きに関係なく、内側の幅は320、内側の高さは240と報告されます(縦向きと横向きの正しい幅の値はそれぞれ360と598です)。他の場所にアクセスするwindow.innerWidth
かwindow.innerHeight
、JavaScriptを使用すると、正確な数値が得られます。
さらに不可解なのは、onPageFinished()
呼び出しでWebViewの高さまたは幅を直接チェックすると
int height = view.getHeight();
int width = view.getWidth();
その後、常に正しく返されます(ただし、DIPではなく正確なピクセル番号が返されます)。これにより、すべてがWebViewでの読み込みが完了したと思うので、JavaScriptで問題が発生することはないはずです。
何が起こっているのかについて何かアイデアはありますか?
前もって感謝します!