我正在開發一個Android應用程序,該應用程序加載一個HTML頁面並在web視圖中顯示它。 問題是我想添加我的自定義CSS(加載的HTML沒有任何CSS或鏈接到CSS)。如何使用jsoup將自定義CSS添加到HTML代碼? 我無法修改html。 然後webview如何打開它? 謝謝用jsoup添加自定義CSS到html代碼
回答
的幾種方法。您可以使用Element#append()
將一些HTML添加到元素。
Document document = Jsoup.connect(url).get();
Element head = document.head();
head.append("<link rel=\"stylesheet\" href=\"http://example.com/your.css\">");
或者,使用Element#attr(name, value)
向現有元素添加屬性。以下是一個例子,它將style="color:pink;"
添加到所有鏈接。
Document document = Jsoup.connect(url).get();
Elements links = document.select("a");
links.attr("style", "color:pink;");
無論哪種方式,修改後得到最終的HTML字符串Document#html()
。
String html = document.html();
將其寫入文件PrintWriter#write()
(使用正確的字符集)。
String charset = Jsoup.connect(url).response().charset();
// ...
Writer writer = new PrintWriter("/file.html", charset);
writer.write(html);
writer.close();
最後在webview中打開它。由於我無法從頭頂部講述它,下面只是一個我認爲有幫助的示例鏈接:WebViewDemo.java。順便說一句,我在this blog上找到了鏈接(我依次通過Google找到該鏈接)。
什麼是正確的字符集?我必須在那裏「// ...」? – PixelPW 2011-04-14 16:36:28
正確的字符集是'Jsoup.connect(url).response()。charset();'。 '// ...'只是獲取'html'所需的代碼。 – BalusC 2011-04-14 16:39:06
謝謝你,但是當我把這個日食它說:「添加拋出decleration」 ... 公共無效的主要(字符串參數... args)拋出 FileNotFoundException異常,UnsupportedEncodingException { 嘗試{ ...... 我有什麼去做? – PixelPW 2011-04-14 16:51:29
也許最簡單的方法是在將HTML文本加載到WebView
之前,在HTML文本上進行搜索和替換以插入自定義樣式。我在我的應用程序BBC新聞中這樣做,稍微修改了新聞文章頁面。我的代碼如下所示:
text = text.replace("</head>",
"<style>h1 {font-size: x-large;} h1, div.date, div.storybody, img {margin:4px; padding:4px; line-height:1.25;}</style></head>");
看我怎麼尋找和最終head
標籤(包括在替換段我自己</head>
標籤更換這就保證了新片段雲在頁面右側的步伐。
AA有幾種方法,包括在HTML CCS
提斯我使用如果您有它保存爲一個外部文件:
<head><link rel="stylesheet" type="text/css" href="mystyle.css" /></head>
如果你希望把它stight我的HTML文件:
<head>
<style type="text/css">
hr {color:sienna;}
p {margin-left:20px;}
body {background-image:url("images/back40.gif");}
</style>
</head>
或者,如果你wnat修改辛格運河標籤:
<p style="color:sienna;margin-left:20px">This is a paragraph.</p>
* 編輯
的thees例子任何不該沒有任何問題顯示。
問題是我將HTML表單加載到網頁中,所以我無法更改HTML。我想用jsoup添加代碼,然後加載我自己的CSS。 – PixelPW 2011-04-10 21:33:33
我明白了,你的問題聽起來像是誤導了你對html的控制。我編輯了這個問題,以正確的方式指出其他人。我自己沒有任何經驗。惠普jsoup – KilledKenny 2011-04-10 21:43:10
- 1. 將自定義代碼添加到joomla
- 2. 添加自定義的html代碼片段到我的網站
- 3. 如何將自定義字體添加到html代碼
- 4. 將自定義PHP源代碼添加到HTML中
- 5. MagicSuggest使用HTML或jQuery代碼添加自定義標記
- 6. 自動添加代碼到html頁面
- 7. 自定義CSS添加到羅盤
- 8. phpStorm添加自定義代碼完成
- 9. 添加php代碼到css
- 10. KnpMenuBundle需要添加自定義CSS和HTML到鏈接
- 11. 添加自定義代碼到Windows應用程序的UI
- 12. 在哪裏添加代碼到自定義圖庫簡碼
- 13. Android Studio Webview與自定義CSS(jsoup)
- 14. 將代理添加到自定義UITableView
- 15. 添加自定義簡碼到Woocommerce
- 16. 使用jQuery將CSS代碼添加到*
- 17. 如何將自定義html代碼添加到Joomla 2.5菜單項?
- 18. Jsoup HTML代碼解析
- 19. 如何將用戶定義的CSS類添加到我的自定義小部件渲染代碼?
- 20. 如何將自定義擴展標籤添加到GPXFramework代碼?
- 21. 如何將自定義代碼片段添加到XCode 4?
- 22. 添加自定義代碼到jQuery的答案
- 23. 奇怪的代碼添加到自定義功能在wordpress
- 24. 在Drupal中添加自定義代碼到<head>
- 25. 如何將自定義代碼添加到標題中
- 26. WPF將c#代碼添加到自定義控件
- 27. 將自定義代碼添加到greenDAO實體
- 28. 將自定義代碼添加到由Automake生成的Makefile中
- 29. 將自定義代碼片段添加到visual studio intellisense
- 30. 將自定義代碼添加到生成的實體類中
這不是一個完全相同的問題。我無法使用loadDataWithBaseURL加載它,因爲沒有任何鏈接指向HTML中的ccs。所以我不能在本地應用中引用css。 – PixelPW 2011-04-13 18:37:04