javascript – Office JS insertHTML和段落格式的主机行为不一致

我注意到Word 2016,Word for Mac和Word Online之间的office-js不一致.

当插入单个< p>时具有块/段落格式的元素,似乎Word 2016不应用< p>的样式属性中定义的段落格式.元件.我可以在文档正文和内容控件中重现这一点.

当我在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 Online上执行相同的代码段时,段落正确对齐,正如预期的那样.

ScriptLab Gist

一个丑陋的解决方法是添加< br /> < p>之后的元素块:

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

这迫使Word 2016应用< p>的格式阻止,但我们不能在所有情况下应用它,因为它有时会破坏页面的其余部分.这也不是我们所期望的.

是否有另一种方法来插入包含格式化的单个段落的HTML< p>块适用于所有主机?

最佳答案 这是一个已知的错误.在修复之前,您已经找到了可能是最好的解决方法,即添加< br /> (或者清空< p>< / p>).

点赞