【发布时间】:2011-03-04 02:39:37
【问题描述】:
Chrome5.0.375.70 有问题,但 FF 3.6.3 和 Opera 10.53 都可以。下面是这行代码:
document.getElementById('content').innerHTML = data.documentElement.innerHTML;
代码中的 data 对象是一个文档 (typeof(data) == 'object'),我通过对 chapter01.xhtml 的 ajax 请求获得了它:
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html [
<!ENTITY D "—">
<!ENTITY o "‘">
<!ENTITY c "’">
<!ENTITY O "“">
<!ENTITY C "”">
]>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Alice's Adventures in Wonderland by Lewis Carroll. Chapter I: Down the Rabbit-Hole</title>
<link rel="stylesheet" type="text/css" href="style.css"/>
<link rel="stylesheet" type="application/vnd.adobe-page-template+xml" href="page-template.xpgt"/>
</head>
<body>
<div class="title_box">
<h2 class="chapnum">Chapter I</h2>
<h2 class="chaptitle">Down the Rabbit-Hole</h2>
<hr/>
</div>
Chrome 剪切所有正文之前和结果链接到标题中的css是错过;用户看不到格式化的文本和图像。
如何修复或绕过?
附:我尝试将 chapter01.xhtml 放入 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
【问题讨论】:
-
您使用的是 HTML5 文档类型,但您说它是 XHTML。您是否真的想将完整的
<html>...</html>正文粘贴到另一个文档的中间?如果你检查你的 XHTML DTD,你会发现你不能这样做...... -
我尝试将 chapter01.xhtml 放入 ttp://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" rel="nofollow" target="_blank">w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">。我在哪里可以查看您指出的信息? (因为我不擅长)
-
您是否尝试像这样“嵌套”HTML 文档:
<html><body><div><html><body></body></html></div></body></html>?因为那是不允许的 -
是的。问题是它可以在 FF 和 Opera 中运行。在哪里/如何检查限制?
-
这与其说是一种限制,不如说是能够从错误中恢复的不同级别。不要一开始就犯错误。
标签: javascript ajax xhtml innerhtml