我注意到 Office-js 在 Word 2016、Word for Mac 和 Word Online 之间存在不一致。
插入单个 <p>
时 block /段落格式的元素,似乎 Word 2016 不应用 style
中定义的段落格式<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 上执行相同的片段时,该段落按预期右对齐。
一个丑陋的解决方法是添加一个 <br/>
<p>
之后的元素 block :
"<p style='text-align:right'>This should be right aligned!</p><br/>",
这会强制 Word 2016 应用 <p>
的格式 block ,但我们不能在所有情况下应用它,因为它有时会破坏页面的其余部分。这也不是我们期望必须要做的。
是否有另一种方法可以插入包含格式化的单段的 HTML <p>
适用于所有主机的 block ?
最佳答案
这是一个已知错误。在修复之前,您已经找到了可能是最好的解决方法,即添加 <br/>
(或清空 <p></p>
)。
关于javascript - 与 Office JS insertHTML 和段落格式不一致的主机行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49558548/