在Qt / webkit中合并多个资源路径的工作方法?

时间:2012-02-15 19:15:31

标签: javascript qt resources webkit

我正在编写一个使用Qt / webkit显示文档的应用程序。 它们是基于XML的,XSLT应用于文档以获得最终结果 用HTML表示。

每份文件都可以参考各种资源:

  1. / usr / share / app / common
  2. 中的系统共享项目
  3. /home/user/.config/app/custom_styles
  4. 中的用户特定项目
  5. / document / document_things中的特定于文档的项目
  6. 该文档包含由jsMath脚本处理的数学, 它们位于系统共享区域。也有共同之处 图像和CSS样式。

    每个用户都可以删除部分文档并拥有自己的文档 他的主目录中的设置,例如css styles。

    最后,每个文档都附带了自己的uniq资源, 什么可以是什么 - 视频,档案或脚本。

    应用程序加载文档并为每个文档知道3条路径 资源并将它们传递给XSLT以生成final 将加载到QWebView中的HTML将被呈现 为用户。

    问题是我需要正确设置baseURL webview,这真的很棘手:

    方案问题:windows和linux处理file:///和简单的'/'开始 URLS在不同方面有所不同,导致代码混乱(添加 窗口上的路径中的字母)

    另外,我刚刚发现URL不能以Qt 4.8.0结尾的'/'结尾 此webkit产生安全性错误,抱怨跨站点脚本。 我必须在QWebSettings中设置各种安全设置 用于工作的LocalContentCanAccessFileUrls。

    这些微妙的东西真的很难调试和维护,特别是当 你有跨平台的想法和各种qt / webkit版本的动物园 部署到任何地方(顺便说一句,4.7只是错误的XSLT上的段错误......)

    所以,问题是:

    1)考虑到我需要,使用什么作为生成HTML的基本URL 包含来自不同地方的多个资源并使用JS?

    2)是否值得尝试创建组合所有的“虚拟”目录 资源使用符号链接或类似的东西? 这将解决基本网址的问题,但我不确定是否这样 Windows上提供了一些功能,并希望继续使用仅限Qt的解决方案..

    当我考虑未来时,问题变得更加复杂 - 我想 能够从Web加载文档,并且仍然在本地拥有用户资源。

    关于如何处理混乱的任何建议?

0 个答案:

没有答案