支持旧版浏览器的markjs插件

时间:2017-01-17 06:47:07

标签: javascript jquery highlight

嗨我需要在这个插件中包含它的功能markjs这里是它的演示:

https://markjs.io/configurator.html

在这个插件中有一个名为wrapMatchesAcrossElements的函数,它突出显示不同节点中的单词或br标签之间的单词我只需要这个函数在旧浏览器中工作就可以帮助一些人如何支持这个函数如果有人支持这个函数会很好旧浏览器的整个插件,该插件目前支持即9及以上

这是我想要的功能:

 key: "wrapMatchesAcrossElements",
            value: function wrapMatchesAcrossElements(regex, ignoreGroups, filterCb, eachCb, endCb) {
                var _this6 = this;
                var matchIdx = ignoreGroups === 0 ? 0 : ignoreGroups + 1;
                this.getTextNodes(function (dict) {

                   var match = void 0;
                        //while ((match = regex.exec(dict.value)) !== null && match[matchIdx] !== "") {
                        while ((match = XRegExp.exec(dict.value, regex)) !== null && match[matchIdx] !== "") {

                        var start = match.index;
                        if (matchIdx !== 0) {
                            for (var i = 1; i < matchIdx; i++) {
                                start += match[i].length;
                            }
                        }
                        var end = start + match[matchIdx].length;

                        _this6.wrapRangeInMappedTextNode(dict, start, end, function (node) {
                            return filterCb(match[matchIdx], node);
                        }, function (node, lastIndex) {
                            regex.lastIndex = lastIndex;
                            //alert(regex);
                            eachCb(node);
                        });
                    }
                    endCb();
                });
            }

1 个答案:

答案 0 :(得分:0)

虽然jQuery可能在较旧的浏览器版本中没有出现重大问题,但我们并不主动测试它们中的jQuery,并且通常不会修复可能出现在它们中的错误。

同样,jQuery不会修复预发布版本的浏览器中的错误,例如beta或dev版本。如果您在浏览器的预发布版中发现jQuery的错误,则应该将错误报告给浏览器供应商。

Click here for Source: