我将浏览器扩展程序从FF移植到chrome。我有这个XMLHttpRequest,它工作正常:

var xhrdata = new XMLHttpRequest(),

xhrdata.onreadystatechange = function () {
    if (xhrdata.readyState === 4) {
        if (xhrdata.status === 200) {
            getJXONTree(xhrdata.responseXML);
        }
    }
};
xhrdata.open("GET", "mydomain.com/my.xml", true);
xhrdata.responseType = "document";
xhrdata.send();


这会将.responseXML发送到此函数(缩短)

function getJXONTree(oXMLParent) {
  var vResult = true, nLength = 0, sCollectedTxt = '';
  if (oXMLParent.hasAttributes()) {
    vResult = {};
    [...]


这在firefox中绝对可以正常工作,但是在chrome中,使用完全相同的代码轮询完全相同的XML,就会收到此错误:

TypeError: Object #<Document> has no method 'hasAttributes'


我在这里想念什么?

最佳答案

Firefox在这方面更为宽大,但必须:

xhr.responseXML.documentElement


由于文档没有任何属性。谢谢@robW

10-04 22:55