我试图将html插入到office365 word文档中,并使用insertHtml
方法。 insertHtml
插入一个空的内容控件(显示占位符而不是我的html)。
可以在iPad iOS 11.3浏览器Safari和Chrome上重现问题。 iPad和其他设备上的本机单词应用程序(office365单词和本机单词)正确插入。
代码示例:
Word.run(async context => {
const currentRange = context.document.getSelection();
const control = currentRange.insertContentControl();
control.insertHtml(
'<b>Insert any text to test</b>',
Word.InsertLocation.replace,
);
await context.sync().catch(console.error);
})
任何帮助将不胜感激。
答案 0 :(得分:0)
尝试返回一些值。
Word.run(async context => {
const currentRange = context.document.getSelection();
const control = currentRange.insertContentControl();
control.insertHtml(
'<b>Insert any text to test</b>',
Word.InsertLocation.replace,
);
await context.sync().catch(console.error);
return false;
})
答案 1 :(得分:0)
当您说“可以在iPad iOS 11.3浏览器Safari和Chrome上复制”时,台式机或Mac上的Chrome怎么样?如果它始终在Word Online上运行,则很可能只是insertContentControl
API的Word Online实现中的一个错误。如果是这样,如果您还没有的话,建议您在https://github.com/officedev/office-js/issues
从表面上看,您编写的代码似乎足够正确。如果要使其更好一点,最好在Word.run的外部粘贴“ .catch
”。这对您的特定情况没有什么影响,因为无论如何您都是在批处理的最后一行调用context.sync()
,但是在某些情况下确实可以。因此,作为最佳做法,请用鱼钩保护整个.run
,而不是sync
。
所以:这可能是平台错误。如果是这样,请在上面的链接中将其归档。