突出显示js功能在dev中工作而不是prod - 崩溃浏览器

时间:2017-10-20 10:51:13

标签: javascript jquery regex twitter-bootstrap

我使用JS / jQuery创建/改编了一个高亮功能。其中包含查询字符串' ?search='之后的字词。在地址栏中,并在页面的某个部分突出显示所有这些条款的黄色色调。 (它也会折叠页面上的面板)我已经在开发模式下尝试了这个并且它起了作用。但是,当它在生产中时它会不断崩溃浏览器窗口,我真的无法弄清楚原因。非常感谢对此的任何帮助。 提前谢谢。

   function highlightTerm() {
       var url = window.location.href;
       var index = url.indexOf("qaisearch=");
       if (index != -1) {
           var term = url.substr(index + 10);

           term = decodeURIComponent(term);
           var srchStr = $("div.col-md-9").html();
           var pattern = new RegExp("(" + term + ")", "gi");
           term = term.replace(/(\s+)/, "(<[^>]+>)*$1(<[^>]+>)*");
           srchStr = srchStr.replace(pattern, "<mark>$1</mark>");
           srchStr = srchStr.replace(/(<mark>[^<>]*)((<[^>]+>)+)([^<>]*<\/mark>)/, "$1</mark>$2<mark>$4");
           $("div.col-md-9").html(srchStr);
           $('.panel-default > .panel-collapse').toggleClass('in');
       }

    }
    highlightTerm();

0 个答案:

没有答案