5

私はメトロアプリに取り組んでいます。文字列(html)を受け取り、その文字列をWebビューにロードするとします。.cssをそのhtmlに関連付けるにはどうすればよいですか?

アップデート:

回答で提案されているWebViewColumnRightは、Androidメソッドです。私はメトロアプリ、c#に取り組んでいます。

4

4 に答える 4

5

JanivZが言ったように、1つの方法は、返されたhtml文字列に必要なCSSへの参照を含めて、自動的にロードできるようにすることです。

またはあなたが持っている他のオプションは、WebView.loadDataWithBaseURLを使用することができます

htmlData = "<link rel=\"stylesheet\" type=\"text/css\" href=\"style.css\" />" +    htmlData;
webView.loadDataWithBaseURL(baseUrl, htmlData, "text/html", "UTF-8", null);

この後、WebView はベース URL ディレクトリから CSS ファイルを見つけることができます。HTML と CSS の両方が同じベース URL から来ている場合、webView.loadDataWithBaseURL で baseURL を指定する必要はありません。

于 2013-01-28T16:15:03.300 に答える
4

「返された文字列」には、cssファイルをロードするために必要な参照が含まれている必要があります(たとえば、以下のように)

<head>
<link rel="stylesheet" type="text/css" href="test.css" />
</head>

その中の要素が、その css ファイルで定義されたルールを参照するようにします。いいえ ?

于 2013-01-20T11:44:29.300 に答える
3

あなたがしているなら、WEBVIEW.NavigateToString(stringHtmlContent)それから注入してください

string styleSheetString = "<link rel='stylesheet' type='text/css' href='test.css' />"

strUpdatedHtmlContent = stringHtmlContent.Insert(stringHtmlContent.IndexOf("<head>",styleSheetString);

その後、

WEBVIEW.NavigateToString(strUpdatedHtmlContent)

これがお役に立てば幸いです。もう1つ、cssのパスと、上記の説明から得たすべてのパスに注意してください...

于 2013-01-30T10:38:08.623 に答える
2

cssファイルが見つかるフルパスを指す外部スタイルシート。

 <head>
    <link rel="stylesheet" type="text/css" href="full path to css file on server">
    </head>

HTMLに付属し、cssファイルへの依存を必要としない内部スタイルシート

<head>
<style>
hr {color:sienna;}
p {margin-left:20px;}
body {background-image:url("images/back40.gif");}
</style>
</head>

インラインスタイルは、内部スタイルシートが行うことを行うための厄介な方法です(外部cssファイルに依存しません)

<p style="color:sienna;margin-left:20px">This is a paragraph.</p>
于 2013-01-31T16:26:15.937 に答える