本公开涉及互联网技术领域,尤其涉及一种字段的自动截取方法及装置。
背景技术:
B/S模式(Browser/Server,浏览器/服务器模式)是互联网兴起后的一种网络结构模式。在该模式中,多个客户机通过互联网与服务器相连接,并且每个客户机安装有一个浏览器。应用该模式时,在客户机上能够处理部分业务,从而减轻服务器的负担,具有较大优势。
在B/S模式中,各个客户机会根据服务器传输的数据,显示相应的网页内容。但是,各个客户机的页面呈现方式不同,若待显示的网页内容中包含超长字段,该超长字段的宽度超过客户机的页面显示阈值,这种情况下,会造成客户机的页面显示不完整。为了解决客户机收到超长字段时,页面显示不完整的问题,传统技术中客户机通常截取待显示的字段内容,截取后获得的每部分内容的宽度不大于所述页面显示阈值,并以CSS(Cascading Style Sheets,层叠样式表)的形式显示截取后的各部分内容。
但是,发明人在本申请的研究过程中发现,以CSS形式显示页面内容时,页面中显示的内容往往只有超长字段中被截取的第一部分内容,需要用户点击后,页面中才能显示其他部分的内容,用户在读取页面内容时经常只浏览到第一部分内容,从而错过网页内容。
技术实现要素:
为克服相关技术中存在的问题,本公开提供一种字段的自动截取方法及装置。
为了解决上述技术问题,本发明实施例公开了如下技术方案:
根据本公开实施例的第一方面,提供一种字段的自动截取方法,该方法包括:
获取待显示的字段内容;
计算所述待显示的字段内容所占据的字段像素,并对比所述字段像素和预设的像素阈值;
若所述字段像素大于所述预设的像素阈值,截取所述待显示的字段内容中的前M个像素,生成包含所述前M个像素和提示标识的显示字段并显示,其中,所述提示标识为N个像素,M与N的和不大于所述预设的像素阈值,并且,M与N均为预设的正整数;
设置所述显示字段的提示层,并通过所述提示层显示所述字段内容。
进一步的,所述计算所述待显示的字段内容所占据的字段像素,包括:
统计所述字段内容中包含的各类型数据的个数,所述各类型数据包括:汉字类型的数据、字母类型的数据、数字类型的数据,和/或特殊字符类型的数据;
根据不同类型的单个数据占据的像素,以及所述各类型数据的个数,计算所述待显示的字段内容所占据的字段像素。
进一步的,所述计算所述待显示的字段内容所占据的字段像素,包括:
获取所述字段内容对应的长度单元,其中,每个长度单元包含s个像素;
确定所述字段内容中的各类型数据包含的长度单元的数量,并将每个数据替换为与所述长度单元的数量相等的符号标识,其中,所述各类型数据包括:汉字类型的数据、字母类型的数据、数字类型的数据,和/或特殊字符类型的数据;
统计所述符号标识的总数,并将所述符号标识的总数与s的乘积作为所述待显示的字段内容所占据的字段像素。
进一步的,所述获取待显示的字段内容,包括:
获取服务器传输的待显示数据后,查找所述待显示数据中是否包含html标签;
若所述待显示数据中包含html标签,获取所述html标签对应的内容,得到所述待显示的字段内容。
进一步的,所述设置所述显示字段的提示层,并通过所述提示层显示所述字段内容,包括:
在所述显示字段的html标签中添加提示层属性,生成所述显示字段的提示层;
在所述提示层中加载所述字段内容。
根据本公开实施例的第二方面,提供一种字段的自动截取装置,包括:
获取模块,用于获取待显示的字段内容;
计算对比模块,用于计算所述待显示的字段内容所占据的字段像素,并对比所述字段像素和预设的像素阈值;
显示字段生成模块,用于若所述字段像素大于所述预设的像素阈值,截取所述待显示的字段内容中的前M个像素,生成包含所述前M个像素和提示标识的显示字段并显示,其中,所述提示标识为N个像素,M与N的和不大于所述预设的像素阈值,并且,M与N均为预设的正整数;
提示层设置模块,用于设置所述显示字段的提示层,并通过所述提示层显示所述字段内容。
进一步的,所述计算对比模块包括:
统计单元,用于统计所述字段内容中包含的各类型数据的个数,所述各类型数据包括:汉字类型的数据、字母类型的数据、数字类型的数据,和/或特殊字符类型的数据;
第一计算单元,用于根据不同类型的单个数据占据的像素,以及所述各类型数据的个数,计算所述待显示的字段内容所占据的字段像素。
进一步的,所述计算对比模块包括:
获取单元,用于获取所述字段内容对应的长度单元,其中,每个长度单元包含s个像素;
确定单元,用于确定所述字段内容中的各类型数据包含的长度单元的数量,并将每个数据替换为与所述长度单元的数量相等的符号标识,其中,所述各类型数据包括:汉字类型的数据、字母类型的数据、数字类型的数据,和/或特殊字符类型的数据;
第二计算单元,用于统计所述符号标识的总数,并将所述符号标识的总数与s的乘积作为所述待显示的字段内容所占据的字段像素。
进一步的,所述获取模块包括:
查找单元,用于获取服务器传输的待显示数据后,查找所述待显示数据中是否包含html标签;
内容获取单元,用于若所述待显示数据中包含html标签,获取所述html标签对应的内容,得到所述待显示的字段内容。
进一步的,所述提示层设置模块包括:
提示层生成单元,用于在所述显示字段的html标签中添加提示层属性,生成所述显示字段的提示层;
内容加载单元,用于在所述提示层中加载所述字段内容。
本公开的实施例提供的技术方案可以包括以下有益效果:
本申请公开一种字段的自动截取方法,该方法中,在获取待显示的字段内容后,对比字段内容占据的字段像素和预设的像素阈值,若所述字段像素大于所述预设的像素阈值,则说明页面中无法显示完整的字段内容,这种情况下,对待显示的字段内容进行截取,获取前M个像素,并根据所述前M个像素和提示标识生成相应的显示字段并显示,所述显示字段占据的像素不大于所述预设的像素阈值,并通过显示字段的提示层显示所 述字段内容。
采用本申请公开的方法,能够通过提示标识提示用户字段内容未被完整显示,以提示用户,避免用户错过未显示的字段内容,并通过提示层显示待显示的所述字段内容,以便用户在浏览到提示标识,并确定需要浏览完整内容时,通过所述提示层读取到完整的字段内容。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
图1是根据一示例性实施例示出的一种字段的自动截取方法的工作流程示意图;
图2是根据一示例性实施例示出的一种字段的自动截取方法中,获取字段内容中占据的字段像素的工作流程示意图;
图3是根据一示例性实施例示出的一种字段的自动截取装置的结构示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。
为了解决现有技术中,当待显示的网页内容中包含的超长字段超过客户机的页面显示阈值时,通过CSS方式显示页面内容时,页面呈现的内容往往只有超长字段中被截取的第一部分内容,易使用户错过网页内容的问题,本申请公开一种字段的自动截取方法。
参见图1所示的工作流程示意图,本申请公开的字段的自动截取方法包括以下步骤:
步骤S11、获取待显示的字段内容。
步骤S12、计算所述待显示的字段内容所占据的字段像素;
步骤S13、对比所述字段像素和预设的像素阈值,判断所述字段像素是否大于所述预设的像素阈值,若是,执行步骤S14的操作,若否,执行步骤S16的操作。
其中,所述预设的像素阈值通常为客户机能够显示字段的最大像素值,若字段像素超过所属预设的像素阈值,则该字段内容将无法在页面上完整显示。
步骤S14、若所述字段像素大于所述预设的像素阈值,截取所述待显示的字段内容的前M个像素,生成包含所述前M个像素和提示标识的显示字段并显示,其中,所述提示标识为N个像素,M与N的和不大于所述预设的像素阈值,并且,M与N均为预设的正整数。
其中,所述显示字段的形式通常为“待显示的字段内容中的前M个像素+占据N个像素的提示标识”。并且,M与N的和不大于所述预设的像素阈值,也就是说,所述显示字段占据的像素不大于所述预设的像素阈值,从而能够在页面中完整的显示所述显示字段。
另外,在显示字段设置有所述提示标识,从而能够使用户知悉存在未显示的字段,起到提醒用户的作用。
步骤S15、在生成包含所述前M个像素和提示标识的显示字段并显示之后,设置所述显示字段的提示层,并通过所述提示层显示所述字段内容。
所述提示层通常为tip提示层,以浮层的形式实现。若用户浏览到所述提示标识,则能够确定存在未显示的字段,这种情况下,若用户需要浏览完整的字段内容,则可进行操作,如将鼠标移动至所述提示层,或者,点击所述提示层,通过所述提示层浏览到完整的字段内容。
步骤S16、若所述字段像素不大于所述预设的像素阈值,显示所述字段内容。
若所述字段像素不大于所述预设的像素阈值,则表明字段内容的宽度并未超过页面显示阈值,直接进行显示即可。
本申请的步骤S11至步骤S16公开一种字段的自动截取方法,该方法中,在获取待显示的字段内容后,对比所述字段内容占据的字段像素和预设的像素阈值,若所述字段像素大于所述预设的像素阈值,则说明页面中无法显示完整的字段内容,这种情况下,对待显示的字段内容进行截取,获取前M个像素,并根据所述前M个像素和提示标识生成相应的显示字段并显示,所述显示字段占据的像素不大于所述预设的像素阈值,并通过显示字段的提示层显示所述字段内容。
采用本申请公开的方法,能够通过提示标识提示用户字段内容未被完整显示,以提示用户,避免用户错过未显示的字段内容,并通过提示层显示待显示的所述字段内容,以便用户在浏览到提示标识,并确定需要浏览完整内容时,通过所述提示层获取读取到字段内容,不会错过信息。
在本申请公开的方法中,所述提示标识通常为省略号。当然,可以采用其他符号作为提示标识,本申请对此不做限定。
在本申请公开的方法中,所述计算所述待显示的字段内容所占据的字段像素,包括以下步骤:
首先,统计所述字段内容中包含的各类型数据的个数,所述各类型数据包括:汉字类型的数据、字母类型的数据、数字类型的数据,和/或特殊字符类型的数据;然后,根据不同类型的单个数据占据的像素,以及所述各类型数据的个数,计算所述待显示的字段内容所占据的字段像素。
在一个字段内容中,往往包含多种类型的数据,如汉字、字母、数字,和/或特殊字符。不同类型的数据所占据的像素不同,因此需要统计各个类型数据的个数,并根据不同类型的单个数据占据的像素,以及各类型数据的个数,即可计算得到待显示的字段内容所占据的字段像素。
例如,若在字段内容中,单个汉字占据12个像素,则同样字号下的每个小写字母和数字均占据6个像素,每个大写字母为9个像素,每个特殊字符为12个像素。这种情况下,若经过统计,确定该字段内容中包含有a个汉字,b个小写字母,c个数字,d个大写字母和e个特殊字符,则该字段内容所占据的字段像素=12*a+6*b+6*c+9*d+12*e。
另外,还可以采用其他方法计算所述待显示的字段内容所占据的字段像素。参见图2所示的工作流程示意图,所述计算所述待显示的字段内容所占据的字段像素,包括以下步骤:
步骤S21、获取所述字段内容对应的长度单元,其中,每个长度单元包含s个像素。
步骤S22、确定所述字段内容中的各类型数据包含的长度单元的数量,并将每个数据替换为与所述长度单元的数量相等的符号标识,其中,所述各类型数据包括:汉字类型的数据、字母类型的数据、数字类型的数据,和/或特殊字符类型的数据。
步骤S23、统计所述符号标识的总数,并将所述符号标识的总数与s的乘积作为所述待显示的字段内容所占据的字段像素。
在一个字段内容中,往往包含多种类型的数据,如汉字、字母、数字,和/或特殊字符。不同类型的数据所占据的像素不同,所述长度单元通常根据单个的各类型数据所占据的像素的最大公约数确定。
例如,若在某一个字段内容中,单个汉字占据12个像素,则同样字号下的每个小写字母和数字均占据6个像素,每个大写字母为9个像素,每个特殊字符为12个像素。这种情况下,确定所述字段内容对应的每个长度单元包含3个像素,即s为3。相应的,每个汉字类型的数据包含4个长度单元,将所述字段内容中的每个汉字类型的数据替换为4个符号标识;每个小写字母类型的数据包含2个长度单元,将所述字段内容中的每个小写字母类型替换的数据为2个符号标识;每个数字类型的数据包含2个长度单元, 将所述字段内容中的每个数字类型的数据替换为2个符号标识;每个大写字母类型的数据包含3个长度单元,将所述字段内容中的每个大写字母类型的数据替换为3个符号标识;每个特殊字符类型的数据包含4个长度单元,将所述字段内容中的每个特殊类型的数据替换为4个符号标识。然后,在替换操作完成后,统计符号标识的总数,所述符号标识的总数乘以3,获取到的乘积即为该字段内容占据的字段像素。
另外,在上述步骤中,替换不同类型数据的符号标识可以不同,例如,替换小写字母类型的数据的符号标识为“☆”,替换大写字母类型的数据的符号标识为“”,替换汉字类型的数据和特殊字符类型的数据的符号标识为“◆”。或者,替换不同类型数据的符号标识也可以相同,本申请对此不做限定。
通过步骤S21至步骤S23的操作,能够获取待显示的字段内容所占据的字段像素,以便通过该字段像素与预设的像素阈值之间的对比结果,判断该字段内容是否能够被完整显示。
进一步的,在本申请公开的方法中,所述获取待显示的字段内容,包括:
获取服务器传输的待显示数据后,查找所述待显示数据中是否包含html(HyperText Markup Language,超级文本标记语言)标签;若所述待显示数据中包含html标签,获取所述html标签对应的内容,得到所述待显示的字段内容。
若所述待显示数据中包含html标签,说明该数据往往映射至其他内容,例如,所述待显示数据中包含超链接,该超链接指示的内容也属于待显示的内容,这种情况下,则需要获取所述html标签对应的内容,据此获取待显示的字段内容。其中,在获取html标签对应的内容时,可通过正则算法获取所需内容。
在步骤S15中,公开了设置所述显示字段的提示层,并通过所述提示层显示所述字段内容的步骤。该步骤中,所述提示层通常采用浮层的方式实现。
这种情况下,所述设置所述显示字段的提示层,并通过所述提示层显示完整的所述待显示的字段内容,包括以下步骤:
首先,在所述显示字段的html标签中添加提示层属性,生成所述显示字段的提示层;然后,在所述提示层中加载所述字段内容。
通过上述步骤,能够为所述显示字段设置相应的提示层,通过所述提示层显示所述字段内容。这种情况下,若用户需要浏览完整的字段内容,可将鼠标移动至所述显示字段,或点击所述显示字段,则出现提示层,以便用户利用所述提示层浏览到完整的字段内容。
相应的,本申请还公开一种字段的自动截取装置,参见图3所示的结构示意图,所述字段的自动截取装置包括:获取模块100、计算对比模块200和显示字段生成模块300和提示层设置模块400。
其中,所述获取模块100,用于获取待显示的字段内容;
所述计算对比模块200,用于计算所述待显示的字段内容所占据的字段像素,并对比所述字段像素和预设的像素阈值;
所述显示字段生成模块300,用于若所述字段像素大于所述预设的像素阈值,截取所述待显示的字段内容中的前M个像素,生成包含所述前M个像素和提示标识的显示字段并显示,其中,所述提示标识为N个像素,M与N的和不大于所述预设的像素阈值,并且,M与N均为预设的正整数;
所述提示层设置模块400,用于设置所述显示字段的提示层,并通过所述提示层显示所述字段内容。
进一步的,所述计算对比模块200能够以多种形式实现。在其中一种形式中,所述计算对比模块200包括:
统计单元,用于统计所述字段内容中包含的各类型数据的个数,所述各类型数据包括:汉字类型的数据、字母类型的数据、数字类型的数据,和/或特殊字符类型的数据;
第一计算单元,用于根据不同类型的单个数据占据的像素,以及所述各类型数据的个数,计算所述待显示的字段内容所占据的字段像素。
在另外一种形式中,所述计算对比模块200包括:
获取单元,用于获取所述字段内容对应的长度单元,其中,每个长度单元包含s个像素;
确定单元,用于确定所述字段内容中的各类型数据包含的长度单元的数量,并将每个数据替换为与所述长度单元的数量相等的符号标识,其中,所述各类型数据包括:汉字类型的数据、字母类型的数据、数字类型的数据,和/或特殊字符类型的数据;
第二计算单元,用于统计所述符号标识的总数,并将所述符号标识的总数与s的乘积作为所述待显示的字段内容所占据的字段像素。
进一步的,所述获取模块100包括:
查找单元,用于获取服务器传输的待显示数据后,查找所述待显示数据中是否包含html标签;
内容获取单元,用于若所述待显示数据中包含html标签,获取所述html标签对应的内容,得到所述待显示的字段内容。
进一步的,所述提示层设置模块400包括:
提示层生成单元,用于在所述显示字段的html标签中添加提示层属性,生成所述显示字段的提示层;
内容加载单元,用于在所述提示层中加载所述字段内容。
采用本申请公开的字段的自动截取装置,能够通过提示标识提示用户字段内容未被完整显示,以提示用户,避免用户错过未显示的字段内容,并通过提示层显示待显示的所述字段内容,以便用户在浏览到提示标识,并确定需要浏览完整内容时,通过所述提示层获取读取到所述字段内容。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。
应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。