gpt4 book ai didi

android - 如何在 Android WebView 中正确嵌入推文?

转载 作者:太空狗 更新时间:2023-10-29 16:39:46 24 4
gpt4 key购买 nike

我对包含一些 HTML 数据的 WebView 有疑问(我不加载 URL,而是加载 HTML 中的自定义内容)。我使用:

mWebView.loadData(mContent, "text/html; charset=utf-8", "utf-8");

在这个 HTML 代码 (mContent) 中,有时我有一个 Twitter block 引用嵌入代码,例如:

<blockquote class="twitter-tweet"><p>"Will Remote Play on the PS Vita be available for <a    style="color:#ff8600;" href="https://twitter.com/search?q=%23D3&src=hash">#D3</a> Ultimate Edition on <a style="color:#ff8600;" href="https://twitter.com/search?q=%23PS4&src=hash">#PS4</a>?" The answer is yes, and it's awesome! <a style="color:#ff8600;" href="http://t.co/Rg059nXZMF">pic.twitter.com/Rg059nXZMF</a></p> Diablo (@Diablo) <a style="color:#ff8600;" href="https://twitter.com/Diablo/statuses/400073137590530048">November 12, 2013</a></blockquote>

那么问题是什么?好吧,我的 WebView 只显示没有样式或图像的推文文本。 (此代码在我的 iOS 应用程序上完美运行。)

我在我的 WebView 上设置了 setJavaScriptEnabled(true),用 WebChromeClients 和 loadDataWithBaseURL 尝试了几件事,但我没能在我的 WebView 上很好地显示嵌入的推文。

有人知道我该怎么做吗?

最佳答案

有几种方法可以解决这个问题:

您可以将对 loadData 的调用替换为:

loadDataWithBaseURL("https://twitter.com", mContent, "text/html", "UTF-8", null);

或者,您可以确保 html 字符串 (mContent) 的头部包含以下内容:

<script type="text/javascript" src="https://platform.twitter.com/widgets.js"></script>

如果您无法控制传入的 HTML,您可以尝试使用 Jsoup自行修改内容。

Document doc = Jsoup.parse(mContent);
doc.head().appendElement("script").attr("type", "text/javascript").attr("src", "https://platform.twitter.com/widgets.js");

// This is the html that includes the appropriate reference to Twitter's widgets.js script
String newHtml = doc.toString();

关于android - 如何在 Android WebView 中正确嵌入推文?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19928706/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com