富文本编辑方法、装置、设备及介质与流程

文档序号:33470014发布日期:2023-03-15 08:05阅读:23来源:国知局
1.本公开涉及计算机
技术领域
:,尤其涉及富文本编辑方法、装置、设备及介质。
背景技术
::2.富文本编辑器能够便于用户对图、文、表格等多类内容进行混合编辑,且富文本编辑器可以借助浏览器运行。然而,在相关技术中的富文本编辑能力非常有限,难以较好的满足用户需求,且为用户所呈现的显示效果不佳,用户体验较差。技术实现要素:3.为了解决上述技术问题或者至少部分地解决上述技术问题,本公开提供了一种富文本编辑方法、装置、设备及介质。4.根据本公开的一方面,提供了一种富文本编辑方法,包括:获取用户待插入在当前富文本中的目标数据的数据类型;从预设的多个数据标签中确定与所述数据类型对应的目标数据标签,并基于所述目标数据标签将所述目标数据插入至所述当前富文本中;其中,所述数据标签包括具有只读属性的标签以及具有非只读属性的标签,且所述具有只读属性的标签包括自定义标签;基于预设格式和所述目标数据标签,对所述目标数据进行格式化处理,以显示格式化处理后的所述目标数据。5.根据本公开的另一方面,提供了一种富文本编辑装置,包括:获取模块,用于获取用户待插入在当前富文本中的目标数据的数据类型;插入模块,用于从预设的多个数据标签中确定与所述数据类型对应的目标数据标签,并基于所述目标数据标签将所述目标数据插入至所述当前富文本中;其中,所述数据标签包括具有只读属性的标签以及具有非只读属性的标签,且所述具有只读属性的标签包括自定义标签;处理模块,用于基于预设格式和所述目标数据标签,对所述目标数据进行格式化处理,以显示格式化处理后的所述目标数据。6.根据本公开的另一方面,提供了一种电子设备,包括:处理器;以及存储程序的存储器,其中,所述程序包括指令,所述指令在由所述处理器执行时使所述处理器执行所述的富文本编辑方法。7.根据本公开的另一方面,提供了一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序用于执行上述富文本编辑方法。8.本公开实施例中提供的上述技术方案,在用户想要在富文本中插入目标数据时,可以获取目标数据的数据类型,并从预设的多个数据标签中确定与数据类型对应的目标数据标签,进而基于该目标数据标签可以将目标数据插入富文本中,并且还可以基于预设格式和目标数据标签对目标数据进行格式化处理。上述方式既可以处理非只读数据又可以处理自定义的只读数据,从而满足复杂的内容编辑需求,而且还可以按照预设格式对用户插入的数据进行格式化处理,从而有效确保显示效果,综合提升用户体验。9.应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。附图说明10.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。11.为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。12.图1为本公开实施例提供的一种富文本编辑方法的流程示意图;13.图2为本公开实施例提供的一种标签层级关系示意图;14.图3为本公开实施例提供的一种内容处理流程示意图;15.图4为本公开实施例提供的一种封装示意图;16.图5为本公开实施例提供的一种富文本编辑流程示意图;17.图6为本公开实施例提供的一种富文本播放流程示意图;18.图7为本公开实施例提供的一种富文本编辑装置的结构示意图;19.图8为本公开实施例提供的一种电子设备的结构示意图。具体实施方式20.下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。21.应当理解,本公开的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本公开的范围在此方面不受限制。22.本公开使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”;术语“一些实施例”表示“至少一些实施例”。其他术语的相关定义将在下文描述中给出。需要注意,本公开中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。23.需要注意,本公开中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。24.为了能够更清楚地理解本公开的上述目的、特征和优点,下面将对本公开的方案进行进一步描述。需要说明的是,在不冲突的情况下,本公开的实施例及实施例中的特征可以相互组合。25.图1为本公开实施例提供的一种富文本编辑方法的流程示意图,该方法可以由富文本编辑装置执行,其中该装置可以采用软件和/或硬件实现,可用于富文本编辑器,一般可集成在电子设备中。如图1所示,该方法主要包括如下步骤s102~步骤s106:26.步骤s102,获取用户待插入在当前富文本中的目标数据的数据类型。倘若以内容划分数据类型,诸如可以至少包括以下中的一种或多种:文本、表格、拼音、音频、视频、公式、竖式、物理线图、思维导图等多种类型,在此不进行限制。在实际应用中,用户可以通过诸如界面上的工具栏(toolbar)等渠道请求插入目标数据,其中,工具栏上可以设置有多种功能按键,诸如设置音视频上传按键、公式插入按键等可供用户发起各种类型的数据的插入请求的功能按键,在此不再赘述。在一些实施示例中,可以通过工具栏接收用户发起的数据插入请求,并基于数据插入请求的类型确定用户所需插入的目标数据的数据类型,诸如,倘若用户触发工具栏上的音频上传按键,则用户发起的数据插入请求的类型为插入音频请求,用户所需插入的目标数据的数据类型为音频类型。27.步骤s104,从预设的多个数据标签中确定与数据类型对应的目标数据标签,并基于目标数据标签将目标数据插入至当前富文本中。28.在本公开实施例中,可以预先设置多个数据标签,其中,数据标签包括具有只读属性的标签以及具有非只读属性的标签,且具有只读属性的标签包括自定义标签。也即,本公开实施例不仅可以允许插入诸如文本、表格等具有非只读属性的数据,还允许插入具有只读属性的数据,而且只读属性的数据类型可以自定义。具体而言,本公开实施例通过预先设置自定义标签的方式来满足自定义数据的插入需求,在一些实施方式中,自定义标签包括拼音标签、音频标签、视频标签、特殊标签中的一种或多种,且特殊标签对应的数据类型包括公式、竖式、物理线图、思维导图中的一种或多种。示例性地,假设用户通过触发工具栏中的音频插入按键上传用户所需插入的音频,则会直接生成与之匹配的音频标签,并采用诸如insertcontent方法将目标数据插入至当前富文本内。通过上述方式,可以满足复杂内容的混合编辑。29.应当说明的是,相比于相关技术中的富文本编辑器仅允许插入诸如文本、表格等简单常规的数据类型的数据而言,本公开实施例允许插入诸如竖式、物理线图、思维导图等非常规的数据类型的数据,以便于满足用户的多样化需求,使富文本编辑器可以应用于诸如制作课件等场合,提升富文本编辑器的普适性。30.步骤s106,基于预设格式和目标数据标签,对目标数据进行格式化处理,以显示格式化处理后的目标数据。31.在实际应用中,预设格式包括预设的标签层级关系以及预设的标签属性,可以根据预设的标签层级关系以及标签属性,确定目标数据的格式化处理方式,并对目标数据进行格式化处理,以便于使目标数据能够符合预设的格式规范。在实际应用中,可以根据需求灵活设置标签层级关系以及标签属性,在此不进行限制。本公开实施例充分考虑到在现有技术中,用户需要从一种或多种其它应用软件中复制各种错综复杂的内容,并将这些内容插入至富文本中,但用户插入的内容没有统一的标准和规范,导致兼容性、稳定性不可控,维护难度系数大,而本公开实施例按照预设格式对用户插入的目标数据进行格式化处理,可以有效提高可控性、稳定性、兼容性以及可维护性。32.本公开实施例中提供的上述技术方案,既可以处理非只读数据又可以处理自定义的只读数据,从而满足复杂的内容编辑需求,而且还可以按照预设格式对用户插入的数据进行格式化处理,从而有效确保显示效果,综合提升用户体验。33.在用户可以根据需求灵活在当前富文本中插入所需类型的数据的基础上,还可以对富文本中的数据进行删改,也即,用户可以选中已插入到富文本中的数据发起删除指令或修改指令,此时可对用户选中的数据执行删除指令或修改指令对应的操作。进一步,本公开实施例提供的上述方法还可以包括:响应于接收到用户的转换指令,获取转换指令对应的目标文本;将转换指令对应的目标文本转换为指定表达形式;指定表达形式包括拼音或指定语言。诸如,可以将用户选中的汉字转换为拼音形式。在实际应用中,可以为用户提供一种或多种转换功能按键,诸如,提供汉字转换为拼音的功能按键、汉字转换为英文的功能按键等,通过上述方式,可以方便快捷地将一种数据表达形式转换为另一种数据表达形式,非常适用于教学场景、语言转换场景等。34.在实际应用中,发明人经研究发现,用户通常会从不同软件中进行内容复制,并将复制的内容插入至富文本中,复制的内容错综复杂,且没有统一的标准和规范,因此难以较好地插入至相关技术中的富文本编辑器中,容易出现富文本排版问题或其它显示问题,因此相关技术中的富文本编辑器的兼容性较差,而且一旦出现问题还需要投入较多的精力去查找原因,稳定性不可控,维护难度系数较大。因此,本公开实施例可以首先设定预设格式,也即制订一套标准规范,并基于该套标准规范对用户插入的数据进行格式化处理,以便用户在富文本中插入的数据能够为用户呈现出规范化的视觉效果,且能够兼容不同来源的数据,并且易于管理维护。35.具体实现时,本公开实施例可以规范标签(也可理解为节点)的类型、结构和属性,其中,通过设置标签层级关系规范标签的类型及结构,通过设置标签属性来规范标签的相应属性,标签属性诸如可以包括class(类)、style(样式)、contenteditable(内容可编辑)等标签本身存在的属性,还可以包含自定义属性。其中,class属性既可以控制标签的外观样子视觉效果,也可以使javascript(js)过该属性读取到相应标签;style属性用来控制标签的外观展示效果;contenteditable属性用于指示元素内容是否可编辑;自定义属性诸如可以包括段落相关的属性或非段落相关的属性,如针对段落设置line-height(行高)、text-indent(段落首行缩进)、text-align(段落水平对齐方式)等属性,针对非段落设置font-size(字号大小)、font-family(字体)、color(字体颜色)、opacity(透明度)、font-weight(粗体)、font-style(斜体)、letter-spacing(字间距)等属性,以上仅为部分简单的示例,在此不进行逐一阐述。基于上述预设的标签属性,也便于用户根据需求进一步编辑,诸如设置行高、字间距、字号大小、透明度等,灵活性更强。另外,本公开实施例规范了标签层级关系,标签层级关系可以体现富文本编辑器涉及的数据标签类型及结构,在一些具体的实施示例中,在预设的标签层级关系中,根节点为块标签(div)或单元格标签(td);单元格标签的子节点包括有序标签(ol)、无序标签(ul)、块标签(div)中的一种或多种;块标签(div)的子节点包括有序标签(ol)、无序标签(ul)、内容标签(诸如数学/化学公式、图片、竖式、音视频、思维导图、物理线图、拼音等)、行内标签(span)、块标签(div)中的一种或多种;有序标签(ol)或无序标签(ul)的子节点包括列表标签(li),且列表标签(li)的子节点包括内容标签(诸如数学/化学公式、图片、竖式、音视频、思维导图、物理线图、拼音等)、行内标签(span);行内标签(span)的子节点包括上角标标签(sup)、下角标标签(sub)或文字标签;上角标标签(sup)或下角标标签(sub)的子节点包括文字标签。36.为便于理解,可以参照如下图2所示的一种标签层级关系示意图,示意出了各标签的类型以及彼此之间的层级关系,其中,虚线箭头即表示层级关系,也可称为元素嵌套关系或父级关系,图2较好地呈现出富文本的结构规范。另外,可以针对诸如div、ol、ul或li等标签设置段落属性,诸如设置只出现行高、段落首行缩进、段落水平对齐方式等属性,针对诸如上述内容标签、span标签等标签设置非段落属性,具体可参照前述内容,在此不再赘述。通过上述方式,可以对富文本中的标签进行类型、结构及属性的规范化处理,可以有效兼容用户从不同数据来源复制而来的数据,通过对其进行规范化处理,不仅可以较好地为用户呈现出视觉体验,而且也可以降低了对插入富文本中的数据的维护难度。37.本公开实施例还可以进一步设置格式化时机,诸如,在一些具体的实施示例中,可以在目标数据标签与位于目标数据之前的相邻数据的数据标签不一致的情况下,基于预设格式确定与目标数据标签对应的格式化处理方式;根据格式化处理方式对目标数据进行格式化处理。可以理解的是,预设格式指示了标签层级关系以及标签属性,因此在用户需要在当前富文本的某个位置插入目标数据时,可以基于目标数据标签和当前富文本中的已有标签,确定目标数据的插入形式,诸如将目标数据作为div标签的子节点插入至富文本中;并基于标签属性确定目标数据的呈现方式,诸如确定目标数据的显示透明度、字体等。38.上述方式可以在节点发生改变时进行格式化操作,除此之外,本公开实施例也可以在检测到当前富文本中存在未经格式化处理的数据的情况下,对未经格式化处理的数据进行格式化处理。也即,对富文本中已有的未经格式化的历史数据在二次编辑时可进行格式化处理,以保障富文本中的数据均是规范化格式。39.为了进一步保障富文本编辑的可靠性,本公开实施例提供的上述方法还可以执行如下步骤a~步骤c:40.步骤a,响应于接收到用户的内容编辑指令,获取内容编辑指令对应的待编辑的目标内容。在实际应用中,用户可以选中富文本中待编辑的内容,并触发工具栏(toolbar),发起内容编辑指令,此时可基于内容编辑指令确定用户选中的目标内容。41.步骤b,将目标内容拆分为文本内容和非文本内容。在一些具体的实施示例中,可以根据目标内容,确定待处理的标签列表;基于标签列表,将目标内容拆分为文本内容和非文本内容。其中,标签列表包括目标内容中的各数据对应的标签,标签列表也可称为节点列表,之后根据标签列表中的各标签对应的类型,将目标内容拆分为文本内容和非文本内容。另外,应当说明的是,倘若目标内容全为文本,则拆分所得的非文本内容为空;同理,倘若目标内容全为非文本,则拆分所得的文本内容为空。42.通过上述方式,能够可靠地对用户选中的内容执行有效指令,本公开实施例充分考虑到在一些情况下,用户选中的内容既包含文本内容又包含非文本内容,但用户发起的内容编辑指令只针对文本内容有效或者只针对非文本内容有效,如果不对内容进行区分,而是统一进行处理,则容易出现问题。示例性地,假设用户选中的目标内容中既包含图片又包含文字,而用户的内容编辑指令中仅包含调整文字大小的指令,该指令只针对文字有效,而针对图片则无法正常执行该指令,为了能够保障内容编辑的顺利进行,因此本公开实施例首先将目标内容按照文本和非文本进行拆分,以便后续能够针对性处理。43.步骤c,根据内容编辑指令,对文本内容执行文本编辑操作和/或对非文本内容执行非文本编辑操作。也即,基于内容编辑指令确定文本内容的有效指令,基于文本内容的有效指令对文本内容执行文本编辑操作,和/或,基于内容编辑指令确定非文本内容的有效指令,基于非文本内容的有效指令对非文本内容执行非文本编辑操作。44.为便于理解,结合图3所示的一种内容处理流程示意图,本公开实施例提供了上述步骤a~步骤c的一种具体实现方式,在用户选中待编辑的内容并触发工具栏时,js可以执行format指令,并调用getselelements方法获取选中的子节点列表(也即,上述待处理的标签列表)。其中,getselelements方法是根据js本身提供的getselection()封装的一个获取选中节点的方法,getselection()会返回一个起点和终点的节点标识,通过这两个标识来遍历富文本节点哪些是被选中的,具体的,判断选中的方法是getselection().containsnode(富文本节点)=》true代表被选中。之后可将子节点列表区分为文本类节点和非文本类节点,并根据节点类型进行指令过滤,诸如针对文本类节点只执行文本类节点的有效指令,针对非文本类节点只执行非文本类节点的有效指令;上述方式可以将节点进行拆分处理,后续重组完成即可修改视觉效果,并自动保存。45.通过本公开实施例提供的上述方式,可以有效替代相关技术中的富文本编辑器所采用的document.execcommand,其中,document.execcommand是对contenteditable为true的节点被光标选中后进行修改视觉展示效果的方法,contenteditable为dom节点的一个属性,用来控制节点内是否允许出现光标来编辑子节点的内容,且节点可理解为上述标签。然而,发明人经研究发现,document.execcommand经常失效,而采用本公开实施例提供的上述方式,可以增强富文本的使用可靠性。另外,在相关技术中的富文本编辑器中,还存在contenteditable为false的节点嵌套过深会使某些设备卡死、在存在contenteditable为false的段落内删除内容时会丢失其他节点的内容和属性、相邻的ol或ul在删除时会自动合并节点、在执行复制粘贴操作时多出很多没有用的节点和属性,导致生成垃圾数据和影响稳定性等缺陷。而采用本公开实施例提供的上述富文本编辑方法,不仅可以设置自定义标签,满足用户的多样化需求,而且能够规范化节点的类型、结构及属性,并且对用户所需编辑的内容进行可靠地拆分重组处理,充分保障富文本编辑的稳定性和可靠性。46.本公开实施例提供的上述方法可应用于富文本编辑器,被实现为富文本编辑器sdk,应用于任意需要使用富文本的场合,诸如应用于课件编辑模块或者课件展示模块等,在此不进行限制。在实际应用中,如图4所示的一种封装示意图,可以将多种核心编辑功能(诸如加粗、斜体、下划线、上下标、字号、字体、颜色、水平对齐等)封装至前端库中,得到可安装配置的npm包。具体的,可以根据需求进行个性化配置及安装,诸如,通过npm安装到所属产品功能模块进行初始化使用sdk的服务,示例性地,图4简单示意出了在线上学习app中所包含的诸如文本、形状、表格、备注、四线三格、古诗词、化学公式等组件,这些组件均有富文本编辑需求,倘若针对每个组件分别进行富文本编辑器的开发维护,则需要耗费较多资源,而在本公开实施例中可以将通过前述方式所得的富文本编辑器分别应用于上述各种组件,上述各组件均可直接调用富文本编辑器sdk的服务,因此可以有效降低开发维护成本,提高重复利用率。47.在实际应用中,可利用javascript(js)结合html5实现富文本编辑,诸如,用户修改富文本中的字号、颜色、背景色、透明度等属性的过程可通过javascript实现,修改之后展示效果可以通过html5实现。48.在前述基础上,本公开实施例还提供了富文本编辑器的应用场合,示例性地,以在线学习app中,教师不仅可以在通过web浏览器或者桌面客户端创建课件时进行富文本编辑,而且还可以利用预览播放器授课,播放基于富文本制作的课件。其中,制作课件的编辑器与播放课件的预览播放器均可通过接口共用一套富文本编辑器sdk,无需额外开发,可有效减少重复开发的资源浪费现象及部门对接成本。为便于理解,以下结合图5所示的富文本编辑流程示意图以及图6所示的富文本播放流程示意图,分别进行阐述说明。49.图5示意出在用户打开课件之后,可进行初始化全局配置,也即实现初始化sdk全局服务,具体调用sdk建立相应的依赖服务,此时用户可进行元素新建或二次编辑,以此初始化sdk子服务,此外,也可拦截剪贴板、鼠标、键盘等触发的事件,并在监听到重新激活时再初始化sdk子服务。用户可以通过操作toolbar或编辑内容区的方式,利用富文本编辑器中自由创作课件内容,示例性地,通过输入、删除、回车、保存、属性修改等方式调整课件内容,sdk内部可自动保存并支持撤销回退;最终在监听到sdk失活后销毁事件,也即销毁依赖服务,释放内存。50.图6示意出在用户点击开始授课时(也即,触发开始授课的功能按键),可进入播放页面,此时初始化sdk全局服务,也即在课件播放时初始化全局配置,之后在播放到包含富文本的页面时,调用sdk子服务进行渲染展示。51.应当说明的是,图5和图6仅是简单的提供了课件制作以及课件播放时利用富文本编辑器sdk的流程示例,但不应当被视为限制,在实际应用中,除了课件以外,任何需要通过富文本编辑器制作的文档均可,且任何软件产品如需涉及到富文本编辑器sdk进行富文本编辑或展示,也均可参照上述方式对接富文本编辑器sdk,普适性较强。52.综上所述,本公开实施例提供的上述方式可以满足用户的多样化编辑需求,且可以较好地确保显示效果,兼容性、稳定性及普适性均较强,可有效提升用户的富文本编辑体验。53.对应于前述富文本编辑方法,本公开实施例还提供了一种富文本编辑装置,图7为本公开实施例提供的一种富文本编辑装置的结构示意图,该装置可由软件和/或硬件实现,一般可集成在电子设备中。如图7所示,包括:富文本编辑装置700包括:54.获取模块702,用于获取用户待插入在当前富文本中的目标数据的数据类型;55.插入模块704,用于从预设的多个数据标签中确定与数据类型对应的目标数据标签,并基于目标数据标签将目标数据插入至当前富文本中;其中,数据标签包括具有只读属性的标签以及不具有只读属性的标签,且具有只读属性的标签包括自定义标签;56.处理模块706,用于基于预设格式和目标数据标签,对目标数据进行格式化处理,以显示格式化处理后的目标数据。57.上述装置既可以处理非只读数据又可以处理自定义的只读数据,从而满足复杂的内容编辑需求,而且还可以按照预设格式对用户插入的数据进行格式化处理,从而有效确保显示效果,综合提升用户体验。58.在一些实施方式中,所述自定义标签包括拼音标签、音频标签、视频标签、特殊标签中的一种或多种,且所述特殊标签对应的数据类型包括公式、竖式、物理线图、思维导图中的一种或多种。59.在一些实施方式中,处理模块706具体用于:在所述目标数据标签与位于所述目标数据之前的相邻数据的数据标签不一致的情况下,基于所述预设格式确定与所述目标数据标签对应的格式化处理方式;根据所述格式化处理方式对所述目标数据进行格式化处理。60.在一些实施方式中,预设格式包括预设的标签层级关系,且在预设的标签层级关系中,根节点为块标签或单元格标签;单元格标签的子节点包括有序标签、无序标签、块标签中的一种或多种;块标签的子节点包括有序标签、无序标签、内容标签、行内标签、块标签中的一种或多种;有序标签或无序标签的子节点包括列表标签,且列表标签的子节点包括内容标签、行内标签;行内标签的子节点包括上角标标签、下角标标签或文字标签;上角标标签或下角标标签的子节点包括文字标签。61.在一些实施方式中,所述装置还包括拆分编辑模块,用于响应于接收到用户的内容编辑指令,获取所述内容编辑指令对应的待编辑的目标内容;将所述目标内容拆分为文本内容和非文本内容;根据所述内容编辑指令,对所述文本内容执行文本编辑操作和/或对所述非文本内容执行非文本编辑操作。62.在一些实施方式中,拆分编辑模块具体用于根据所述目标内容,确定待处理的标签列表;基于所述标签列表,将所述目标内容拆分为文本内容和非文本内容。63.在一些实施方式中,所述装置还包括转换模块,用于响应于接收到用户的转换指令,获取所述转换指令对应的目标文本;将所述转换指令对应的目标文本转换为指定表达形式;所述指定表达形式包括拼音或指定语言。64.在一些实施方式中,所述装置还包括:在检测到所述当前富文本中存在未经格式化处理的数据的情况下,对所述未经格式化处理的数据进行格式化处理。65.本公开实施例所提供的富文本编辑装置可执行本公开任意实施例所提供的富文本编辑方法,具备执行方法相应的功能模块和有益效果。66.所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置实施例的具体工作过程,可以参考方法实施例中的对应过程,在此不再赘述。67.本公开实施方式中的多个装置之间所交互的消息或者信息的名称仅用于说明性的目的,而并不是用于对这些消息或信息的范围进行限制。68.本公开示例性实施例还提供一种电子设备,包括:至少一个处理器;以及与至少一个处理器通信连接的存储器。所述存储器存储有能够被所述至少一个处理器执行的计算机程序,所述计算机程序在被所述至少一个处理器执行时用于使所述电子设备执行根据本公开实施例的方法。69.本公开示例性实施例还提供一种存储有计算机程序的非瞬时计算机可读存储介质,其中,所述计算机程序在被计算机的处理器执行时用于使所述计算机执行根据本公开实施例的方法。70.本公开示例性实施例还提供一种计算机程序产品,包括计算机程序,其中,所述计算机程序在被计算机的处理器执行时用于使所述计算机执行根据本公开实施例的方法。71.所述计算机程序产品可以以一种或多种程序设计语言的任意组合来编写用于执行本公开实施例操作的程序代码,所述程序设计语言包括面向对象的程序设计语言,诸如java、c++等,还包括常规的过程式程序设计语言,诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。72.此外,本公开的实施例还可以是计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本公开实施例所提供的富文本编辑方法。所述计算机可读存储介质可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以包括但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。73.参考图8,现将描述可以作为本公开的服务器或客户端的电子设备800的结构框图,其是可以应用于本公开的各方面的硬件设备的示例。电子设备旨在表示各种形式的数字电子的计算机设备,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。74.如图8所示,电子设备800包括计算单元801,其可以根据存储在只读存储器(rom)802中的计算机程序或者从存储单元808加载到随机访问存储器(ram)803中的计算机程序,来执行各种适当的动作和处理。在ram803中,还可存储设备800操作所需的各种程序和数据。计算单元801、rom802以及ram803通过总线804彼此相连。输入/输出(i/o)接口805也连接至总线804。75.电子设备800中的多个部件连接至i/o接口805,包括:输入单元806、输出单元807、存储单元808以及通信单元809。输入单元806可以是能向电子设备800输入信息的任何类型的设备,输入单元806可以接收输入的数字或字符信息,以及产生与电子设备的用户设置和/或功能控制有关的键信号输入。输出单元807可以是能呈现信息的任何类型的设备,并且可以包括但不限于显示器、扬声器、视频/音频输出终端、振动器和/或打印机。存储单元808可以包括但不限于磁盘、光盘。通信单元809允许电子设备800通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据,并且可以包括但不限于调制解调器、网卡、红外通信设备、无线通信收发机和/或芯片组,例如蓝牙tm设备、wifi设备、wimax设备、蜂窝通信设备和/或类似物。76.计算单元801可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元801的一些示例包括但不限于中央处理单元(cpu)、图形处理单元(gpu)、各种专用的人工智能(ai)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(dsp)、以及任何适当的处理器、控制器、微控制器等。计算单元801执行上文所描述的各个方法和处理。例如,在一些实施例中,富文本编辑方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元808。在一些实施例中,计算机程序的部分或者全部可以经由rom802和/或通信单元809而被载入和/或安装到电子设备800上。在一些实施例中,计算单元801可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行富文本编辑方法。77.用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。78.在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd-rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。79.如本公开使用的,术语“机器可读介质”和“计算机可读介质”指的是用于将机器指令和/或数据提供给可编程处理器的任何计算机程序产品、设备、和/或装置(例如,磁盘、光盘、存储器、可编程逻辑装置(pld)),包括,接收作为机器可读信号的机器指令的机器可读介质。术语“机器可读信号”指的是用于将机器指令和/或数据提供给可编程处理器的任何信号。80.为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,crt(阴极射线管)或者lcd(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。81.可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(lan)、广域网(wan)和互联网。82.计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。83.需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。84.以上所述仅是本公开的具体实施方式,使本领域技术人员能够理解或实现本公开。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本公开的精神或范围的情况下,在其它实施例中实现。因此,本公开将不会被限制于本文所述的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1