Fix IE11 compatibility
authorTim Düsterhus <duesterhus@woltlab.com>
Mon, 3 Dec 2018 12:05:46 +0000 (13:05 +0100)
committerTim Düsterhus <duesterhus@woltlab.com>
Mon, 3 Dec 2018 12:05:46 +0000 (13:05 +0100)
see #2752

wcfsetup/install/files/js/WoltLabSuite/Core/Prism.js

index 7a5d3290fe81786d017f7014e1ff2aa9e60c18a9..de949a5a4e15c8a4ae9c28d357064691cf643d7e 100644 (file)
@@ -12,7 +12,7 @@ window.Prism.manual = true
 
 define(['prism/prism'], function () {
        Prism.wscSplitIntoLines = function (container) {
-               var frag = new DocumentFragment();
+               var frag = document.createDocumentFragment();
                var lineNo = 1;
                var it, node, line;
                
@@ -24,7 +24,10 @@ define(['prism/prism'], function () {
                        return line;
                }
                
-               it = document.createNodeIterator(container, NodeFilter.SHOW_TEXT);
+               // IE11 expects a fourth, non-standard, parameter (entityReferenceExpansion) and a valid function as third
+               it = document.createNodeIterator(container, NodeFilter.SHOW_TEXT, function () {
+                       return NodeFilter.FILTER_ACCEPT
+               }, false);
                
                line = newLine(lineNo);
                while (node = it.nextNode()) {