Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/425.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用importnode解决IE兼容性问题_Javascript_Internet Explorer - Fatal编程技术网

Javascript 如何使用importnode解决IE兼容性问题

Javascript 如何使用importnode解决IE兼容性问题,javascript,internet-explorer,Javascript,Internet Explorer,我在IE使用importnode时遇到问题。我找不到最好的方法来解决这个问题。有办法吗 clones = el.childNodes; for (var j = 0; j < clones.length; j++) { if (clones[j].nodeType != 1) continue; slides.appendC

我在IE使用importnode时遇到问题。我找不到最好的方法来解决这个问题。有办法吗

                   clones = el.childNodes;
                   for (var j = 0; j < clones.length; j++) {
                       if (clones[j].nodeType != 1) continue;
                       slides.appendChild(clones[j].cloneNode(true));
                   }
                   for (var j = 0; j < utilities.visibleSlides(el); j++) {                        
                           var clone = slides.childNodes[j],
                           cloneParent = document.createElement('div');
                           cloneParent.classList.add('tnt-slider-item');
                           cloneParent.classList.add('clone');
                           cloneParent.setAttribute('data-item', (slides.childNodes.length + j + 1));
                           cloneParent.appendChild(document.importNode(clone, true));
                           innerStage.appendChild(cloneParent);
                   }

请检查您的IE浏览器版本,Document.importNode方法支持IE 9+。Internet explorer 8及更早版本不支持importNode方法

如果要在IE8和早期版本中使用importNode方法,可以尝试使用以下多边形填充:

'use strict';

if (!window.DocumentFragment && window.HTMLDocument) {
    window.DocumentFragment = HTMLDocument;
}

if (!document.ELEMENT_NODE) {
    document.ELEMENT_NODE = 1;
    document.ATTRIBUTE_NODE = 2;
    document.TEXT_NODE = 3;
    document.CDATA_SECTION_NODE = 4;
    document.ENTITY_REFERENCE_NODE = 5;
    document.ENTITY_NODE = 6;
    document.PROCESSING_INSTRUCTION_NODE = 7;
    document.COMMENT_NODE = 8;
    document.DOCUMENT_NODE = 9;
    document.DOCUMENT_TYPE_NODE = 10;
    document.DOCUMENT_FRAGMENT_NODE = 11;
    document.NOTATION_NODE = 12;
}

if (!document.createElementNS) {
    document.createElementNS = function (namespaceURI, qualifiedName) {
        return document.createElement(qualifiedName);
    };
}

if (!document.importNode) {
    document.importNode = function (node, deep) {
        var a, i, il;

        switch (node.nodeType) {
            case document.ELEMENT_NODE:
                var newNode = document.createElementNS(node.namespaceURI, node.nodeName);
                if (node.attributes && node.attributes.length > 0) {
                    for (i = 0, il = node.attributes.length; i < il; i++) {
                        a = node.attributes[i];
                        try {
                            newNode.setAttributeNS(a.namespaceURI, a.nodeName, node.getAttribute(a.nodeName));
                        }
                        catch (err) {
                            // ignore this error... doesn't seem to make a difference
                        }
                    }
                }
                if (deep && node.childNodes && node.childNodes.length > 0) {
                    for (i = 0, il = node.childNodes.length; i < il; i++) {
                        newNode.appendChild(document.importNode(node.childNodes[i], deep));
                    }
                }
                return newNode;

            case document.TEXT_NODE:
            case document.CDATA_SECTION_NODE:
                return document.createTextNode(node.nodeValue);

            case document.COMMENT_NODE:
                return document.createComment(node.nodeValue);

            case document.DOCUMENT_FRAGMENT_NODE:
                docFragment = document.createDocumentFragment();

                for (i = 0, il = node.childNodes.length; i < il; ++i) {
                    docFragment.appendChild(document.importNode(node.childNodes[i], deep));
                }
                return docFragment;
        }
    };
}
提供一个,而不仅仅是一个代码片段。