Javascript 主机行为与Office JS insertHTML和段落格式不一致

Javascript 主机行为与Office JS insertHTML和段落格式不一致,javascript,ms-word,office-js,Javascript,Ms Word,Office Js,我注意到office js中Word 2016、Word for Mac和Word Online之间存在不一致 插入带有块/段落格式的单个元素时,Word 2016似乎不应用元素的样式属性中定义的段落格式。我可以在文档正文和内容控件中复制这一点 当我在Word 2016或Word for Mac上的空文档中执行此代码段时: await Word.run(async (context) => { context.document.body.insertHtml( "

我注意到office js中Word 2016、Word for Mac和Word Online之间存在不一致

插入带有块/段落格式的单个
元素时,Word 2016似乎不应用
元素的
样式
属性中定义的段落格式。我可以在文档正文和内容控件中复制这一点

当我在Word 2016或Word for Mac上的空文档中执行此代码段时:

await Word.run(async (context) => {

    context.document.body.insertHtml(
        "<p style='text-align:right'>This should be right aligned!</p>",
        "replace");

    await context.sync();
});
等待Word.run(异步(上下文)=>{
context.document.body.insertHtml(
“

这应该是右对齐的!

”, “替换”); wait context.sync(); });
插入段落,但保持左对齐

当我在Word Online上执行相同的代码段时,正如预期的那样,段落是右对齐的

一个难看的解决方法是在
块之后添加

元素:

"<p style='text-align:right'>This should be right aligned!</p><br/>",

这应该是右对齐的!


”,
这迫使Word 2016应用
块的格式,但我们不能在所有情况下都应用,因为它有时会破坏页面的其余部分。这也不是我们期望要做的


是否有另一种方法可以插入HTML,该HTML包含一个在所有主机上都有效的单段落格式的
块?

这是一个已知的错误。在修复之前,您已经找到了最好的解决方法,即添加

(或和空
/code>)

这听起来确实像个bug。我不确定我希望在这里看到哪种行为,但它肯定应该在不同平台上保持一致。我怀疑<> > > p> <代码>的预期行为取决于您插入的位置(即在现有段落的中间与新行的中间位置)。您正在测试Word 2016的哪些版本/版本?Windows和Mac之间是否100%一致?我以前见过,我认为这是一个已知的错误。如果内存可用,则是忽略样式属性的最后一段。请尝试在同一个insertHtml调用中插入多个段落,并尝试在style属性中使用不同的格式。我想你会发现,除了最后一段,所有的东西都能正常工作。@Marclafler我希望这个行为和Word Online一样,因为它尊重
元素的段落格式。我在Word 2016版本1804 Build 9226.2021(Office Insider)上复制了此内容。据我所知,它在Windows&Mac上的行为是相同的。@RickKirkham您是正确的,如果我插入两个连续的
块,则应用第一个块的文本对齐样式,但忽略第二个块的文本对齐样式。有趣的是,如果我添加一个
颜色
样式,它将按预期应用于两个块。问题似乎仅限于段落格式样式。@Hlynur我在字体系列和其他样式上见过它。我很惊讶这不会发生在颜色上。