Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Office js OneNote加载项:获取HTML内容_Office Js_Onenote_Onenote Api - Fatal编程技术网

Office js OneNote加载项:获取HTML内容

Office js OneNote加载项:获取HTML内容,office-js,onenote,onenote-api,Office Js,Onenote,Onenote Api,在中,提供了获取RichText的代码。它能够获取页面的纯文本内容,但我似乎无法让它返回页面的HTML格式内容 例如: 标题: A B 应该是: <p>Header:</p> <ul> <li>A</li> <li>B</li> </ul> 我们还没有记录它(它很快就会被添加),但是richText对象上有一个“getHtml()”方法。下面是一个示例片段 OneNote.run(fun

在中,提供了获取RichText的代码。它能够获取页面的纯文本内容,但我似乎无法让它返回页面的HTML格式内容

例如:

标题:

  • A
  • B
应该是:

<p>Header:</p>
<ul>
  <li>A</li>
  <li>B</li>
</ul>

我们还没有记录它(它很快就会被添加),但是richText对象上有一个“getHtml()”方法。下面是一个示例片段

OneNote.run(function (context) {

    var outline = context.application.getActiveOutlineOrNull();

    outline.load('id, type, paragraphs/id, paragraphs/type');

    return context.sync().then(function () {
        if (!outline.isNull) {
            var richTextParagraphs = [];
            var htmls = [];
            console.log("outline id: " + outline.id);
            for(var i = 0;  i < outline.paragraphs.items.length; i++){
                var paragraph = outline.paragraphs.items[i];
                console.log("paragraph type " + paragraph.type);
                if (paragraph.type == "RichText"){
                    richTextParagraphs.push(paragraph);
                    var html = paragraph.richText.getHtml();
                    htmls.push(html);
                    paragraph.load("richtext/id, richtext/languageid")
                }
            }

            return context.sync().then(function(){
                for(var i = 0; i < richTextParagraphs.length; i++){
                    var richTextParagraph = richTextParagraphs[i];
                    console.log("Rich text paragraph id: " + richTextParagraph.richText.Id + " and " + richTextParagraph.richText.languageId)
                }
                for(var i = 0; i < htmls.length; i++){
                    var html = htmls[i];
                    console.log("Rich text paragraph html: " + html.value)
                }
            });
        }
    });
})
.catch(function(error) {
    console.log("Error: " + error);
    if (error instanceof OfficeExtension.Error) {
        console.log("Debug info: " + JSON.stringify(error.debugInfo));
    }
});
OneNote.run(函数(上下文){
var outline=context.application.getActiveOutlineOrNull();
大纲。加载(“id、类型、段落/id、段落/类型”);
返回context.sync().then(函数(){
如果(!outline.isNull){
var richtextparations=[];
var htmls=[];
console.log(“outline id:+outline.id”);
对于(var i=0;i
对象上可用的属性有哪些?其中有html的吗?如果是,它的返回类型是什么?属性仅为
id
text
(类型均为
String
)。请注意,这不是整页HTML,只是在富文本级别。上面的函数也没有考虑到所有的富文本对象,页面中可能有更多的内容(在表内,在子段落中…)Jorge,感谢您的快速回复。上面的代码在Chrome中抛出语法错误警告。我想这可能是一个复制粘贴问题,所以我手工写了出来,但随后我得到了错误:
error:valuenotload:result对象的值尚未加载。在读取value属性之前,请在关联的请求上下文上调用“context.sync()”。
您能澄清一下吗?我已经更新了代码并对其进行了测试。它现在应该可以工作了。是可以从表对象获取HTML,还是必须迭代表的每个单元格才能获取HTML?不幸的是,不可以。您必须迭代。
OneNote.run(function (context) {

    var outline = context.application.getActiveOutlineOrNull();

    outline.load('id, type, paragraphs/id, paragraphs/type');

    return context.sync().then(function () {
        if (!outline.isNull) {
            var richTextParagraphs = [];
            var htmls = [];
            console.log("outline id: " + outline.id);
            for(var i = 0;  i < outline.paragraphs.items.length; i++){
                var paragraph = outline.paragraphs.items[i];
                console.log("paragraph type " + paragraph.type);
                if (paragraph.type == "RichText"){
                    richTextParagraphs.push(paragraph);
                    var html = paragraph.richText.getHtml();
                    htmls.push(html);
                    paragraph.load("richtext/id, richtext/languageid")
                }
            }

            return context.sync().then(function(){
                for(var i = 0; i < richTextParagraphs.length; i++){
                    var richTextParagraph = richTextParagraphs[i];
                    console.log("Rich text paragraph id: " + richTextParagraph.richText.Id + " and " + richTextParagraph.richText.languageId)
                }
                for(var i = 0; i < htmls.length; i++){
                    var html = htmls[i];
                    console.log("Rich text paragraph html: " + html.value)
                }
            });
        }
    });
})
.catch(function(error) {
    console.log("Error: " + error);
    if (error instanceof OfficeExtension.Error) {
        console.log("Debug info: " + JSON.stringify(error.debugInfo));
    }
});