Сбой Office-js Range.search с matchWildcards - PullRequest
0 голосов
/ 14 декабря 2018

Я разрабатываю надстройку MS Word с использованием Office-js.Следующий код прекрасно работает на рабочем столе Word, но в Word Online браузер перестает отвечать при обработке кода.У меня есть следующий код:

Word.run(function (context) {
     let body = document.body;
     body.load('text');
     return context.sync().then(function () {
        var searchTerms = findAllSearchTerms(body.text);
        var results = [];
        for (let i = 0; i < searchTerms.length; i++) {
            results[i] = context.document.body.search(searchTerms[i]);
        };
        for (let i =0; i<results.length; i++){
            results[i].load('font/italic, font/underline, text');
        };
        return context.sync().then(function () {
            var results2 = [];
            for (let b=0; b<results.length;b++){
                results[b].items.forEach(function(r){
                    results2.push(r);
                })
            }
            var newResults= [];
            var newResultsShort = [];
             for (let i = 0; i < results2.length; i++) {
                if(results2[i].text.toLowerCase().includes('supra')){
                    //This is where the browser stops responding. If I remove matchWildcards option, it runs fine but the desired results are not achieved.
                    newResultsShort.push(results2[i].search("<*>", { matchWildcards: true }));
                } else {
                    newResults.push(results2[i]);
                }
            };
        )}
     })
})
.catch(function (error) {
    console.log("Error: " + error);
    if (error instanceof OfficeExtension.Error) {
        console.log("Debug info: " + JSON.stringify(error.debugInfo));
    };
});

Здесь я ищу весь текст документа.Затем я искал конкретные результаты в результатах.При выполнении поиска по результирующим диапазонам я не могу использовать параметр matchWildcards.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...