我们在QWebView中加载简单的HTML,并且使用data-uri协议的每个图像都不起作用。相反,我们会看到默认的占位符图像。我们使用Arora浏览器进行测试,使用QTWebKit,但也通过cpp文件加载QWebView进行测试。
我做过一些研究:
根据这个来源,Arora浏览器不支持data-uri协议 - (因此也不支持QTWebKit?): http://web-browsers.findthebest.com/q/14/2604/What-protocol-support-features-does-the-web-browser-Arora-made-by-Benjamin-C-Meyer-have
以下针对data-uri支持的比较文章没有明确将Arora或QTWebkit列为对data-uri的支持: http://en.wikipedia.org/wiki/Data_URI_scheme#Web_browser_support
在下面的参考页面中,QT显然支持数据url样式表,但没有明确调用图像 - 也许这只是在c ++代码中: http://harmattan-dev.nokia.com/docs/library/html/qtwebkit/qwebsettings.html
此处,在webkit支持的标准列表中,他们没有列出data-uri协议: http://trac.webkit.org/wiki/QtWebKitSupportedStandards
在其他网站引用中,人们提到使用数据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协议。
谢谢大家!
答案 0 :(得分:0)
我遇到的问题与你在我的qt 4.8应用程序中无法使用的数据uri图像有关。来回走动我发现我没有加载gif和jpeg插件。一旦我将它们添加到应用程序路径,数据就会开始工作。
对于OS X,这是适用于我的解决方案:
进行。
P.S。我的应用程序不会从路径中的所有图像格式库开始,所以我得到了gif和jpeg库并且没有进一步调查
p.p.s你不需要png图像的插件