!DOCTYPE html
我有一个奇怪的错误。
当我尝试使用HTML5 Doctype时,我的页面看起来很奇怪。所有脚本看起来都没有正确关闭。
但是当我改为!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"
时,一切看起来都不错。
我不明白页面结构有什么问题以及为什么它只发生在HTML5上。
答案 0 :(得分:2)
HTML5完全删除并重写了许多HTML4元素(XHTML 1.0所基于的)。如果网站主要使用XHTML 1.0进行编码,那么您不能只是切换到HTML5并假设事情不会中断。
您最好的选择是在https://validator.w3.org通过W3C的HTML验证程序运行转换后的doctype代码,并查看它生成的错误和警告。这应该让你知道为什么事情没有按照你想要的方式运作。
答案 1 :(得分:0)
谢谢你们的帮助!
我找到了解决方法。在我的例子中,错误在一个扩展中,在观察者中使用 protected void onPostExecute(final String result) {
m_ProgressView.setVisibility(View.GONE);
try {
m_oResponseobject = new JSONObject(result);// getting response from server
JSONArray posts = m_oResponseobject.optJSONArray("dealList");
for (int i = 0; i < posts.length(); i++) {
JSONObject post = posts.getJSONObject(i);
item = new CDealAppDatastorage();
item.setM_szHeaderText(post.getString("dealname"));
item.setM_szsubHeaderText(post.getString("dealcode"));
item.setM_n_Image(m_n_FormImage[i]);
s_oDataset.add(item);
}
// LoadMore button
Button btnLoadMore = new Button(getActivity());
btnLoadMore.setText("LOAD MORE DEALS");
btnLoadMore.setBackgroundResource(R.drawable.button_boarder);
btnLoadMore.setTextAppearance(getActivity(), android.R.style.TextAppearance_DeviceDefault_Small);
btnLoadMore.setTextColor(Color.WHITE);
btnLoadMore.setGravity(Gravity.CENTER);
// Adding Load More button to lisview at bottom
if(!s_oDataset.size()==0)
{
m_ListView.addFooterView(btnLoadMore);
}
m_oAdapter = new CDealAppListingAdapter(getActivity(), s_oDataset);// create adapter object and add arraylist to adapter
m_ListView.setAdapter(m_oAdapter);//adding adapter to recyclerview
m_oAdapter.notifyDataSetChanged();
}
方法。在渲染之前,此方法已解析$dom->saveXML()
并删除/替换HTML输出。