2012-06-01 85 views
4

我們正在QWebView中加載簡單的HTML,並且使用data-uri協議的每個圖像都不起作用。相反,我們會看到默認的佔位符圖像。我們使用Arora瀏覽器進行測試,使用QTWebKit,但也通過通過cpp文件加載QWebView進行測試。QtWebKit QWebView&Data-URI協議 - 不支持?

一些研究,我做的事:

在其他網頁的引用,使人們使用數據URI圖像的提及,但在任何情況下他們都在談論的C++代碼。我沒有看到在QWebView中工作的data-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"> 

起初我沒有裝載的字符集,不使在Chrome瀏覽器的差異。這些圖像在鉻順便加載罰款。

所以要清楚,我試圖找出QtWebKit QWebView是否支持data-uri協議。

謝謝大家!

+1

關於它的任何新聞插件?它不依賴於依賴於QtWebkit的PhantomJS,所以這似乎是這種情況。 –

回答

0

我遇到了同樣的麻煩,因爲data-uri圖像在我的qt 4.8應用程序中不起作用。來回發現我發現我沒有加載gif和jpeg插件。一旦我將它們添加到應用程序路徑中,data-uri就開始工作。

爲OS X,這是爲我工作的解決方案:

  1. 構建應用程序(我用的qmake -spec MACX-G +++;使清潔;使)
  2. 使用的qmake -query找到plugins目錄
  3. 副本imageformats目錄到AppName.app/Contents/PlugIns
  4. 運行macdeployqt(以確保插件都指向AppName.app/Contents/Frameworks)

完成。

p.s.我的應用程序不會與路徑中的所有的imageformat庫開始,所以我剛剛得到了GIF和JPEG庫並沒有進一步調查

p.p.s你不需要爲PNG圖像