排序Javascript不使用Internet Explorer

排序Javascript不使用Internet Explorer,javascript,jquery,internet-explorer,Javascript,Jquery,Internet Explorer,我需要JavaScript代码方面的帮助,它似乎无法与InternetExplorer8正常工作,在我开始调试它时,给了我一大堆错误。首先,它说Internet Explorer 8不支持object.keys和object.getOwnPropertyByNames,其次,也不支持ClassList。我的代码在Google Chrome和Firefox上运行良好,但在Internet Explorer上崩溃。需要帮助 谢谢在您的页面中添加polyfill,例如: ... 另一个问题

我需要JavaScript代码方面的帮助,它似乎无法与InternetExplorer8正常工作,在我开始调试它时,给了我一大堆错误。首先,它说Internet Explorer 8不支持object.keys和object.getOwnPropertyByNames,其次,也不支持ClassList。我的代码在Google Chrome和Firefox上运行良好,但在Internet Explorer上崩溃。需要帮助





谢谢

在您的页面中添加polyfill,例如:


...
另一个问题是您多次使用
console.log
,这在IE8中没有定义,除非您打开了DevTools。您可能希望删除这些行,或在JS顶部添加一行,如下所示:

if(!'console'在窗口中){console={log:function(){};}


另请参见:。

如果它说东西不受支持,它可能不受支持,您必须搜索每一个不受支持的东西,并找到IE8的解决方法。这些都是常见的问题,要解决这些问题应该不难。好吧,你已经解决了这些问题。如果不支持这些方法,则需要填充垫片/多边形填充,或者需要重写代码。有谁能帮我解决这个问题吗
var dataSource = ({
    "Pen": ({
        "Parker": ({
                "P1": ({}),
                "P2": ({})
        }),
            "Cello": ({
                "C2": ({}),
                "C1": ({})
        })
    })
}),
    traverseObject = function (obj) {
        var ul = document.createElement("ul"),
            li;

        for (var prop in obj) {
            li = document.createElement("li");
            li.appendChild(document.createTextNode(prop));
            li.onclick = function(e) {
                e.currentTarget.classList.toggle("hidden");
                e.stopPropagation();
            }
            if (typeof obj[prop] == "object" && Object.keys(obj[prop]).length) {
                li.appendChild(traverseObject(obj[prop]));
            } else {
                li.classList.add("leaf");
            }
            ul.appendChild(li);
            console.log(ul);
        }
        return ul;
    },
    sortedObject = function (obj) {
        document.getElementById("dvList2").innerHTML = "";
        var ul = document.createElement("ul"),
            li;
        var keys = Object.keys(obj).sort();
        for (prop in keys) {
            li = document.createElement("li");
            li.appendChild(document.createTextNode(keys[prop]));
            li.onclick = function(e) {
                e.currentTarget.classList.toggle("hidden");
                e.stopPropagation();
            }

            if (typeof obj[keys[prop]] == "object" && Object.keys(obj[keys[prop]]).length) {
                li.appendChild(sortedObject(obj[keys[prop]]));
            } else {
                li.className += "leaf";
            }
            ul.appendChild(li);
            console.log(ul);
        }
        return ul;
    };
window.onload = function () {
    document.getElementById("dvList1").appendChild(traverseObject(dataSource));
    document.getElementById("hlGSL").onclick = function(){document.getElementById("dvList2").appendChild(sortedObject(dataSource));}


}
<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=Edge">
    <!--[if lt IE 9]>
    <script type="text/javascript" src="aight.min.js"></script>
    <![endif]-->
    <script type="text/javascript" src="YOUR OTHER SCRIPTS HERE"></script>
  </head>
  <body>
  ...
  <script type="text/javascript" src="MAYBE OTHER SCRIPTS HERE"></script>
  </body>
</html>