【发布时间】:2014-07-20 21:25:52
【问题描述】:
我的应用程序中有一个类,它显示基于 HTML 的文档,这些文档作为一组 HTML 文件存储在用户的硬盘上。
我的文档模块有一个功能可以记住最近浏览的页面。我目前正在使用 QWebView::url() 来获取当前页面的 URL,以便将其存储在配置中。下次激活文档查看器时,将从配置中提取 URL,进行适当处理,然后将其发送回 QWebView。这样,用户就可以从他/她离开的地方继续。
QWebView::url 是获取当前 URL 的好方法,但它不像我需要的那样精确。它只捕获基本 URL,没有任何额外内容。例如,我的文档中的每个标题都附加了一个 id 属性,我用它来制作一个可浏览的目录。例如,用户可以单击目录中的任何项目以跳转到适当的标题。
但是,当我需要 file:///Z:/doc 时,QWebKit::url 只返回如下内容:file:///Z:/doc/foo.html /foo.html#heading,其中#heading 是目录中最后点击的项目。我怎样才能让它在 URL 字符串中包含那些内部链接(不太确定它们的正确名称是什么)?
在一个完美的世界中,QWebView 会自动知道用户何时滚动过当前文档中的每个标题,并会自动更新 URL 字符串。这将允许会话之间几乎无缝的阅读。我不希望它以这种方式工作,但这甚至可能吗?
【问题讨论】:
-
找到解决办法了吗?