Я разрабатываю надстройку 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.