我正在为一位正在写小说的朋友建立一个网站,并希望逐页地以书本形式显示,并翻页。
我在Angular 2中有一个前端应用程序,在Java中有一个后端(因为它们是我更熟悉的工具)。 Angular应用程序的后台允许用户添加章节的文本,该章节发送到后端以存储在DB中。然后Angular的前面调用后端来检索章节,并且必须在类似书的显示中显示它。
我的问题是如何将章节文本拆分成页面才能显示。我可以更改后台以强制用户逐页添加文本。我可以要求用户在文本中放置一个特定的标记来指示分页符。但我觉得这个过程对用户来说尽可能透明。
所以我通过在后端分割文本来寻求解决方案。我估计了一行上有多少个字符,以及页面上有多少行,然后我相应地剪切了文本(进行了一些调整,因为它是一个带有标签的HTML文本)。 但感觉就像一种非常严格的方法,因为我选择的是页面的大小,而不管显示界面的大小。
所以我想知道是否有更好的方法: - 一种不同的分裂算法 - 工具正面显示我的文本而不分割它 - 别的什么
有人不得不面对类似的问题吗?
由于
答案 0 :(得分:1)
您正在服务器端执行不感知页面长度的操作。
我认为更好的方法是从后端到前端获得完整的章节;并有一个前端函数,将计算: - 基于页面大小的每行字符数 - 基于页面大小的行数 - 基于先前信息的章节页数
这是一种比完整后端更好的方法。
然而;这不是一种反应灵敏的方法。
您是否有兴趣和需要??
如果是;您可以在页面长度/高度上添加一个手表来重新计算上述值并重新生成页面