罕见的Js错误: typeerror:object # has no method 'load'

skyboxgogo 2011-01-09 06:19:20
typeerror:object #<a Document> has no method 'load'

谷歌浏览器下提示这个错误。

if (document.implementation && document.implementation.createDocument) { //在非IE浏览器环境下

xmlDoc = document.implementation.createDocument("", "", null);
try {
xmlDoc.load(XMLPath);
} catch (e) {alert(e); }//typeerror:object #<a Document> has no method 'load'
xmlDoc.async = false;


在FF下可以正常。 谷歌下怎么处理呀????
...全文
1900 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
skyboxgogo 2011-01-10
  • 打赏
  • 举报
回复
又调测了一下,下边代码谷歌下可以,但是火狐下就不行了。真郁闷。
var xmlNodes;
//判断浏览器类型

if (window.XMLHttpRequest) {
xhttp = new XMLHttpRequest();
}
else // for older IE 5/6
{
xhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
xhttp.open("GET", XMLPath, false);
xhttp.send("");
xmlDoc = xhttp.responseXML;

//nodeType clientLeft offsetParent parentElement offsetWidth localName ownerDocument nodeValue
//lastElementChild offsetLeft previousSibling tagName namespaceURI childElementCount scrollLeft
//lastChild clientHeight textContent nextSibling scrollWidth offsetHeight clientWidth nodeName style
//scrollTop baseURI offsetTop nextElementSibling firstChild attributes parentNode clientTop childNodes prefix
//previousElementSibling firstElementChild scrollHeight getAttribute setAttribute removeAttribute getAttributeNode
//getElementsByTagName getAttributeNS setAttributeNS removeAttributeNS getElementsByTagNameNS getAttributeNodeNS
//hasAttribute hasAttributeNS focus blur scrollIntoView scrollIntoViewIfNeeded scrollByLines scrollByPages
//getElementsByClassName querySelector querySelectorAll webkitMatchesSelector getClientRects getBoundingClientRect
//setAttributeNode removeAttributeNode setAttributeNodeNS contains insertBefore replaceChild removeChild appendChild
//hasChildNodes cloneNode normalize isSupported hasAttributes lookupPrefix isDefaultNamespace lookupNamespaceURI addEventListener
//removeEventListener isSameNode isEqualNode compareDocumentPosition dispatchEvent ELEMENT_NODE ATTRIBUTE_NODE TEXT_NODE
//CDATA_SECTION_NODE ENTITY_REFERENCE_NODE ENTITY_NODE PROCESSING_INSTRUCTION_NODE COMMENT_NODE DOCUMENT_NODE
//DOCUMENT_TYPE_NODE DOCUMENT_FRAGMENT_NODE NOTATION_NODE DOCUMENT_POSITION_DISCONNECTED DOCUMENT_POSITION_PRECEDING
//DOCUMENT_POSITION_FOLLOWING DOCUMENT_POSITION_CONTAINS DOCUMENT_POSITION_CONTAINED_BY DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC

//此种方法谷歌下可以,但是火狐下就又不行了。
xmlNodes = xmlDoc.documentElement.childNodes
var obj = xmlNodes[1];
for (var i = 1; i <= xmlNodes.length; i++) {

//alert(xmlNodes[1].nextElementSibling.tagName);
var provinceNode = obj.getAttribute("name");

var pOption = document.createElement("option");
pOption.value = provinceNode;
pOption.text = provinceNode;
provinceDropDownList.add(pOption);

obj = obj.nextElementSibling;
}
skyboxgogo 2011-01-10
  • 打赏
  • 举报
回复
1楼的方法是可以读取xml,但是我要解析用这个xml,代码如下。
try {
xmlDoc.load(XMLPath);
} catch (e) {alert(e); }
xmlDoc.async = false;



xmlDoc.onload = function () {
xmlNodes = xmlDoc.getElementsByTagName("province");

for (var i = 0; i < xmlNodes.length; i++) {
var provinceNode = xmlNodes[i].getAttribute("name");
var pOption = document.createElement("option");
pOption.innerHTML = provinceNode;
pOption.setAttribute("value", provinceNode);
provinceDropDownList.appendChild(pOption);
}
Mr-Jee 2011-01-09
  • 打赏
  • 举报
回复
又是标题党。
你顶楼的方法在CHROME下不受支持

但是1楼的方法可以 用的
你说不行是什么意思啊
skyboxgogo 2011-01-09
  • 打赏
  • 举报
回复
<html>
<body>
<script type="text/javascript">
if (window.XMLHttpRequest)
{
xhttp=new XMLHttpRequest();
}
else // for older IE 5/6
{
xhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xhttp.open("GET","books.xml",false);
xhttp.send("");
xmlDoc=xhttp.responseXML;

document.write(xmlDoc.documentElement.nodeName + " loaded");
</script>
</body>
</html>

这个中方式不行。我要实现的是3级地区联动。地区都存在一个xml里的。

87,904

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧