onenote链接系列⑬:内部链接地址的8个子元素解析

原创 小斯  2020-12-05 18:49 

onenote的5类内置对象中,指向笔记本和分区组链接地址很简单,onenote内链标准开头“onenote://”再加上对应的文件夹完整路径即可。

但分区、页面和段落的内链地址就不同了,它们多出了一个重要属性——ID。

因为段落在5类对象中的层级最深,所以其内链地址是最完整的,它的地址中可以完全包含前4类对象的地址,所以,只需要将段落的地址弄懂,5类内置对象的内链地址就全通了。

💡

示意图:构成段落地址的8个元素

下图展示onenote了5类内置对象的具体位置及对应的文件夹结构。

onenote链接系列⑬:内部链接地址的8个子元素解析 onenote 第1张

下面这张图,显示的是上图中笔记容器内的段落对象“小斯想段落”的链接地址。图片的上半部分,将段落的完整地址的8个子元素分别用(浅)赤橙黄绿青蓝紫金高亮标示;下半部分,将各元素拆分至独立行,便于查看。本文将对这8个元素逐一进行解析。

onenote链接系列⑬:内部链接地址的8个子元素解析 onenote 第2张

1

onenote://

“onenote://”,这是onenote内部对象链接地址的标准开头,在onenote中,只要以此字符串开头,就会自动被识别为指向onenote内部对象的链接。 类似于网页URL开头的“http://”网络协议。

2

D:/小斯想笔记本

在标准开头onenote://的后面直接接上onenote笔记本“小斯想笔记本”对应的文件夹路径,就形成指向该笔记本的内部链接。注意,标准开头至关重要,地址中少了它,点击链接打开的是硬盘上的文件夹,而非onenote中的笔记本。

3

/小斯想分区组

分区组本质上也是文件夹,所以,在笔记本路径后再接上分区组对应的文件夹,就形成指向该分区组的内部链接。

4

/小斯想分区.one

分区对应的是.one文件,在笔记本或分区组的路径下接上对应的.one文件完整(带文件后缀)名称,就形成指向该分区的内部链接。

5

#小斯想页面

分区是onenote层级结构中的分界线,分区及以上的对象(分区组、笔记本),均能在硬盘上找到对应文件(夹),但分区以下的对象(页面、段落),均存储在.one文件中,所以,这些对象,不能再从硬盘文件路径上去定位了。

此时,可以在分区路径上后接“#”+“页面名称”:onenote://D:/小斯想笔记本/小斯想分区组/小斯想分区.one#小斯想页面,这样形成指向该分区下该名称的页面,若有多个重名页面,指向第一个。

6

分区、页面、段落ID

ID可以类比人的身份证,每个人的ID都是唯一的,不可能和其他人重复。同样的,分区、页面、段落等onenote对象在创建时也产生了唯一的ID值,通过ID,就可以对onenote的这些内部对象进行精准定位。

在“小斯想段落”的完整地址中,从第一个“&”这里开始会产生疑问:section-id和前面的.one文件路径均能指向分区,“#页面名称”和“page-id”均能指向页面,这不是重复了吗?这里就涉及到一个优先级顺序了。

简单来说,对于地址中指向同一对象的子元素,优先使用前一个;若前一个正确,不需考虑后一个是否正确;若前一个错误,则会使用后一个。

例如,若“#页面名称”正确,页面ID不论对错,均会通过页面名称跳转;若分区路径错误,而分区ID正确,则会通过分区ID跳转。

总之,链接地址的各组合中,只要其中能形成正确地址,就能正常跳转。这同时意味着,内链地址还可以进一步简化,你完全可以删除指向重复对象的部分,例如通过onenote://page-id={CE390548-D979-459D-9DA0-FE19F992E473}可以直接定位至“小斯想页面”,压根就不需要前面大段的文件路径,而且使用ID后,不管外面的路径如何变化,只要该页面对象没有被销毁,就能准确定位。

至此,onenote内链地址的标准结构算是说完了。通过本系列之前的这些文章,已经可以回答系列第一篇中提出的所有关于内部链接的疑问了。但鉴于ID如此重要,下一篇中会单独说说ID。

本文地址:http://cas01.com/6878.html
关注我们:请关注一下我们的微信公众号:扫描二维码小斯想的公众号,公众号:cas01
温馨提示:本站发布的压缩包如需密码解压,若无特别说明,密码统一为:cas01.com
版权声明:本文为原创文章,版权归 小斯 所有,欢迎分享本文,转载请保留出处!

发表评论


表情