【问题标题】:OneNote API (REST) - <div> tags seeem to be stripped during PATCHOneNote API (REST) - <div> 标签似乎在 PATCH 期间被剥离
【发布时间】:2015-06-30 05:58:26
【问题描述】:

注意:使用与Onenote API (REST) - PATCH append - "must include a 'commands'" error when Commands is already supplied (?!) 中定义的相同的 PATCH 请求

每个 PATCH 请求都是一个追加操作,并使用提供给 |HTML| 的以下布局在我的代码中:

<div>
  <h1>Hardcoded_Name_ForNow</h1>
  <h3>4.345054</h3>
  <p>sdfsdfsdf</p>
  <img src="name:image-part-name" alt="New binary image" />
</div>

但是,当我获取页面的内容(参考:https://jsapi.apiary.io/apis/onenote/reference/get-pages/v10pagesid/get.html?console=1)时,结果是这样的:

(HEADER OMITTED)
<body data-absolute-enabled="true" style="font-family:Calibri;font-size:11pt">
  <div style="width:624px">
    <h1 style="font-size:16pt;color:#1e4e79;margin-top:11pt;margin-bottom:11pt">Hardcoded_Name_ForNow</h1>
    <h3 style="font-size:12pt;color:#5b9bd5;margin-top:11pt;margin-bottom:11pt">47.77527</h3>
    <p>TEST</p>
    <img alt="New binary image" width="624" height="353" src="https://www.onenote.com/api/v1.0/resources/0-60a8d03c70a04372ad60cabb8191f86d!1-6C3CB48828A4FCE7!185/$value" data-src-type="image/png" data-fullres-src="https://www.onenote.com/api/v1.0/resources/0-60a8d03c70a04372ad60cabb8191f86d!1-6C3CB48828A4FCE7!185/$value" data-fullres-src-type="image/png" />
    <h1 style="font-size:16pt;color:#1e4e79;margin-top:11pt;margin-bottom:11pt">Hardcoded_Name_ForNow</h1>
    <h3 style="font-size:12pt;color:#5b9bd5;margin-top:11pt;margin-bottom:11pt">41.16911</h3>
    <p>ewqeqweqweqew</p>
    <img alt="New binary image" width="624" height="353" src="https://www.onenote.com/api/v1.0/resources/0-9d9ab7935d16464eb826e70dd7fdb3ef!1-6C3CB48828A4FCE7!185/$value" data-src-type="image/png" data-fullres-src="https://www.onenote.com/api/v1.0/resources/0-9d9ab7935d16464eb826e70dd7fdb3ef!1-6C3CB48828A4FCE7!185/$value" data-fullres-src-type="image/png" />

    ...

  </div>
</body>

我知道,如果我没有提供特定的目标 ID,则 PATCH 请求将针对 topmost 。但是,我预计 PATCH 请求会在不剥离封装器的情况下批发布局。

目前通过假设 h1、h3、p、img 将始终按顺序解决此问题,但如果标签顺序更改或添加新标签,这将更难维护。

启用 div id 属性没有帮助,根本就不存在。

【问题讨论】:

  • 我尝试了许多添加外部 div 的组合,但这些仍然被剥离。

标签: html api get patch onenote


【解决方案1】:

我们真的没有办法在 OneNote 中存储任意容器,因此我们会尽最大努力按需重新合成它们。除非他们有一些有意义的区分数据,否则个别数据可能会消失,正如你所看到的。我们的目标是让演示内容进出表面,而不是成为一个高保真 HTML 商店。

也就是说,如果您向您的 . HTML 可能完全相同相同,但我们应该产生语义等价的内容,在这种简单的情况下,这很可能意味着您的内容被保留为您所期望的。

如果这些 div 在您的应用中没有任何独特之处,您可以使用 guid 或一些诸如 data-id 属性来获得一个简单的唯一值。

【讨论】:

  • 谢谢,我会看看在封装的 div 标签中抛出一个 ID 是否有效。如果他们不这样做,我有一个备用计划,包括将 ID 放在第一个 h1 中,我必须硬编码 CSS 样式以防止整个内容与页面标题重叠。
  • 应该是“data-id”而不是“id”
猜你喜欢
  • 1970-01-01
  • 2023-03-17
  • 1970-01-01
  • 2012-01-08
  • 2014-03-16
  • 1970-01-01
  • 1970-01-01
  • 2013-05-05
  • 2018-10-25
相关资源
最近更新 更多