1
這發生在所有測試的瀏覽器(Chrome瀏覽器,火狐,歌劇......)HTML實體得不到承認,從阿賈克斯
一些HTML實體被吞下檢索並從阿賈克斯檢索時,不顯示時不顯示。在HTML源文件中硬編碼時顯示相同的HTML實體。
下面是實際的輸出:(實體在網頁中也不在控制檯未顯示陰)
這是預期的輸出:
下面是檢索實體的javascript:
<html>
<head>
<script type="text/javascript">
function injectEntity(){
var xhr = new XMLHttpRequest();
xhr.open("POST", "entity.php", true);
xhr.onreadystatechange = function(){
if(xhr.readyState == 4){
var doc = xhr.responseXML;
console.log(xhr.responseText);
var div = document.getElementById("container");
div.appendChild(doc.getElementById("the-entity"));
}
}
xhr.send(null);
}
</script>
</head>
<body>
<a href="#" onclick="injectEntity();">inject the following entity:</a> ’
<div id="container">
</div>
</body>
</html>
這裏是用來檢索該實體的PHP文件:
<?php
header('Content-type: application/xml; charset=UTF-8');
$xml = new DOMDocument('1.0', 'utf-8');
$tag = $xml->createElement('b','’');
$tag->setAttribute("id","the-entity");
$xml->appendChild($tag);
echo $xml->saveXML();
?>
我的猜測是,你有,如果你想被替換的實體來解析文本。你可以用'innerHTML'解析文本。因此,而不是'appendNode',使用'innerHTML'將內容添加到DOM。 – 2012-02-08 15:57:09