[英]WebView not Loading Data?
我正在尝试使用WebView从rss feed加载解析的html数据,但webview声称该页面:
“data:text / html; utf-8,[我试图显示的html]”
不可用。
我觉得奇怪的是,当我只是希望它显示它时,它似乎将html数据放入url。
这是我现在为webview的代码:
Bundle data = getIntent().getExtras();
WebView webview = new WebView(this);
setContentView(webview);
webview.loadData(data.getString("DEFAULTTEXT"), "text/html", "utf-8");
HTML已在Bundle中的字符串中传递,标识符为:DEFAULTTEXT。 我已经测试了这个类,并且HTML传递得很好,它只是没有正确显示。
它在我试过的一些网页上工作得很好,但其他网页却没有。 我将尝试发布一个有效的代码和一个无代码的代码。
Huuu ....所以我今天早上打开电脑,工作得很好。 我还是不知道问题是什么。 :/
编辑:没关系。 它适用于我试图显示的一些页面,但不是所有页面。
Edit2:交换出来为loadDataWithBaseURL工作就像一个魅力。
如上所述,当你的HTML中有'%','\\','#'等字符时,需要对其进行转义,而loadData似乎并不会自动执行。
loadDataWithBaseURL而不是loadData确实转义,似乎解决了这个问题。 只需对baseUrl和historyUrl使用null。 所以问题中的示例代码更改为:
Bundle data = getIntent().getExtras();
WebView webview = new WebView(this);
setContentView(webview);
webview.loadDataWithBaseURL(null,data.getString("DEFAULTTEXT"), "text/html", "utf-8",null);
我相信loadData *的这种零星行为是因为您尝试加载的页面内容是什么。 如果它是简单的html它没有问题。 但如果它有像css或其他需要外部信息的功能的组件,它将会纾困。 我的经验!
您确定您在manifest.xml中定义了正确的权限吗?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.