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

标签 javascript ms-word office-js

我注意到 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 上执行相同的片段时,该段落按预期右对齐。

ScriptLab Gist

一个丑陋的解决方法是添加一个 <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/

相关文章:

javascript - 无法访问创建的工作簿的工作表

javascript - 我的 Jquery 似乎没有找到 panelid

javascript - 如何在 jQuery 文档就绪函数中使用模块中的(全局)变量?

java - 如何在 Java 中使用 Apache POI 将项目符号点添加到 word 文档

ms-word - 页眉和页脚未在 Word javascript api 中绑定(bind)

powerpoint - 我可以从另一个演示文稿的加载项访问新演示文稿吗?

javascript - 在 Node 内使用 zone.js(不是 Angular )

javascript - 表单数据在新页面中不可见 - PHP + Javascript

java - 使用 POI API 将页脚(带图像)添加到 Word Doc

java - 如何将 Word 文档转换为 PDF?