我正在使用Office-js开发Word Addin女士。下面的代码在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选项。