2010-03-08 105 views
1

我试图将10个html页面作为单个文档显示,共10章。 我正在使用Webkitgtk +引擎来呈现HTML页面。 我得到每个HTML文件的内容和连接所有这些创造一个
单“的char *的内容”,并使用 webkit_web_view_load_html_string(WebKitWebView * web_view, 常量gchar *内容,常量gchar * base_uri);这个函数加载所有的HTML文件,作为一个文件。如何查找html内容的高度

现在我正在尝试为这个文档建立一个'目录(toc)',它按顺序显示所有的章节名称。我的要求是,当我点击toc中的特定章节时,文档应该滚动到那一点。为此我需要知道每个章节的高度(每个html文件内容的高度)。

这里要注意的一点是,文档的宽度可以改变,并且HTML可以重排,因为宽度会增加高度,反之亦然。所以每当高度发生变化时,我都需要找出每个HTML页面(或章节)的当前高度,然后计算滚动的距离。

如何动态查找HTML页面内容的高度?谢谢你的回答....

回答

1

您可以使用JavaScript来获得一个div的高度。因此,将每个聊天器都包装在一个div中,给它一个名称或类名称,然后使用javascript来查找div的高度。

2

为什么不直接在章节之间加上命名的定位标签并链接到那些?

<a name='chapter_3'>&nbsp;</a> 

那么你的链接可能类似​​于:

<li> 
    <a href='#chapter_3'>Wherein Mr. Toad Gains A Fresh Perspective</a> 
    </li> 
+0

或其中'Toad先生获得新鲜的视角'(这比链接到一个空间更有意义)。 – Quentin 2010-03-08 13:35:41

+0

是的,无论对于目录是否合理。此外,我还假定在这些部分中已经有标记和内容来表示章节/章节标题等。如果他所做的只是将这些部分粘合在一起,那么插入空白锚点比试图缠绕锚点更容易每节的前面有东西。 – Pointy 2010-03-08 13:41:58

+0

您可以在现代浏览器中链接到具有ID属性的任何内容。不再需要''。 – 2010-03-08 13:53:43