Chrome 72 にアップデートした Android の WebView.loadData で # 以降の文字が表示されない



現象

Android の WebView.loadData で HTML を表示させる処理で、突然 HTML が途中までしか表示されない現象が発生しました。

詳しく調べたところ #(半角のシャープ)以降が全く表示されていないことがわかりました。

この現象が出る端末は、 2019/1/29 にリリースされた Android 版の Chrome の 72 にアップデートしている端末で、Android のバージョンは 6 以降であればすべて再現しました。

10年前の不具合に類似

この現象は 2008~2009年頃の初期の Android の WebView で発生していた # や % の文字があるとそれ以降が表示されないというバグに似ていて、今回は % は影響ないものの # については同様です。

Chrome 72 は多数の不具合があるようで安定していない状態でリリースされたようです。

対処法

10年前のバグと現象と同じ対処方法で解決しました。

以下は Xamarin (C#) のコードです。WebView.LoadData の代わりに WebView.LoadDataWithBaseURL を使います。

content が表示する HTML、はダミーの URL です。空文字とかでも良さそうです。

これで Chrome 72 がインストールされた端末での不具合が解消されました。

参考

ITエンジニア募集中!

キュアコード株式会社はITエンジニアを募集しております。少人数の職場なので、上流・下流やサーバー・クライアント対応の垣根なく、あなたの強みを活かしながら いろいろなことにチャレンジ可能です。エンジニアとしての未経験の方、経験が少ない方も歓迎しています。

下記よりITエンジニア募集の採用情報をご覧いただけます。


コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA