QtWebKit QWebView&数据URI协议 - 不支持?

时间:2012-06-01 16:25:19

标签: qtwebkit

我们在QWebView中加载简单的HTML,并且使用data-uri协议的每个图像都不起作用。相反,我们会看到默认的占位符图像。我们使用Arora浏览器进行测试,使用QTWebKit,但也通过cpp文件加载QWebView进行测试。

我做过一些研究:

在其他网站引用中,人们提到使用数据uri图像,但在每种情况下,他们都在c ++代码中讨论。我还没有看到在QWebView中使用的数据-uri协议的引用 - 这正是我们所需要的。

以下是我们尝试加载的图片示例:

<img src="data:image/png;charset=utf-8;base64,/9j/4AAQSkZJRgABAgAAAQABAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0aHBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wAARCAAyADIDASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD03JoyaSnxJ5kqR5xuYD866jIdBbzXLbYkLHvjoKutpE8cDyyOPlGdqjca3oYY4IhHGoVRT6xdR9C+U43Joya09ato4ZkkQBfMzkD1Hf8AWsutU7q5DVhcmikopgFTWgJvIQoyd4OPxqGpIJfJuI5cZ2sDj1pMDr6KQEMAQcg8ilrmNTG14HbA2PlBYE/lWLWxrs2XihHYbjWPW8PhM5bhRRRViCigAk4AyT2q/b6Rcz4Ljyl9W6/lSbS3CxsaWzPp0JY5OCB9AcVcpqII41ReigAU6ud6s1Ryt+7PfzlzyHIH0HSq1b+paY9zL50TLuxgqe/41iTQSwNtljZD7jrW8WmjNojoooqhG/oiJ9lL7V37iN2Oa1KKK557mkdgoooqRhTXRXUq6hlPYjIooprcDkZQBK4HA3GiiiukyP/Z">

最初我没有使用charset加载,这对Chrome没有任何影响。这些图像可以很好地加载铬合金。

所以要清楚,我试图找出QtWebKit QWebView是否支持data-uri协议。

谢谢大家!

1 个答案:

答案 0 :(得分:0)

我遇到的问题与你在我的qt 4.8应用程序中无法使用的数据uri图像有关。来回走动我发现我没有加载gif和jpeg插件。一旦我将它们添加到应用程序路径,数据就会开始工作。

对于OS X,这是适用于我的解决方案:

  1. 构建应用程序(我使用qmake -spec macx -g +++; make clean; make)
  2. 使用qmake -query查找插件目录
  3. 将imageformats dir复制到AppName.app/Contents/PlugIns
  4. 运行macdeployqt(以确保插件指向AppName.app/Contents/Frameworks)
  5. 进行。

    P.S。我的应用程序不会从路径中的所有图像格式库开始,所以我得到了gif和jpeg库并且没有进一步调查

    p.p.s你不需要png图像的插件