Office JS insertHTML和段落格式

时间:2018-03-29 14:21:55

标签: javascript ms-word office-js

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

使用块/段落格式插入单个<p>元素时,似乎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>元素:

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

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

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

1 个答案:

答案 0 :(得分:1)

这是一个已知的错误。在修复之前,您已经找到了最好的解决方法,即添加"use strict"; function start() { var fading = document.getElementById("fading"); fading.style.opacity = 1; } window.onload = start; (或空<br/>)。