まず、これは Android 2 以前の問題であると断言します (4 は影響を受けないようで、3 はテストしていません)。
WebView
文字列から html をロードする があります。HTML は次のようになります。
<html>
<head>
<link rel='stylesheet' type='text/css' href='http://www.robotsidekick.com/test.css?rev=0' />
</head>
<body>
<h1>Hello World</h1>
</body>
</html>
css ファイルが次のようになっていることがわかります。
body {
font-family: "Lucida Console", "Lucida Sans Typewriter", Monaco, "Bitstream Vera Sans Mono", monospace;
}
h1 {
border-bottom: 3px solid #ccc;
}
コードは次のWebView
ようになります。
final WebView webview = new WebView(this);
setContentView(webview);
final String result = "<html><head><link rel='stylesheet' type='text/css' href='http://www.robotsidekick.com/test.css?rev=0' /></head><body><h1>Hello World</h1></body></html>";
webview.loadData(result, "text/html", Encoding.UTF_8.toString());
何が起こるのですか
WebView
MIME タイプをプレーンテキストに設定したかのように、html コードが表示されます。
私が期待すること (および Android 4.x で何が起こるか)
htmlが表示されますWebView
私が見ている症状を示すには、真実でなければならないことがいくつかあります。
- Android 2.x (私は 2.3.7 と 2.2 を使用していました)
href="http://www.robotsidekick.com/test.css?rev=0"
css は、URLを介してアクセスする必要がありますhref="test.css"
(ただし、実際の css ファイルhref="http://www.thisisnotarealurl.fake/test.css?rev=0
が同じ問題を引き起こすかどうかは問題ではありません)。- CSS には get パラメータが必要ですが、
?rev=0
それが何であるかは問題ではありません
また、以下は違いがないことにも注意してください。
- HTML での適切な
"
代わりの使用'
link
タグ自体を閉じるかどうか- cssの中身
<!DOCTYPE html>
HTML へのDoctype の追加