2010-05-28 31 views
4

我正在將WebKit(通過Qt)集成到應用程序中。我不希望WebKit通過URL檢索腳本,CSS文件和圖像,而是希望我的應用程序提供它們(例如從數據庫中檢索)。如何從非URL源加載腳本,樣式和圖像?

例如,「常規」網頁可以包含本文標籤:

<IMG src="photos/album1/123456.jpg"> 

相反的WebKit獲取從服務器或文件系統這個形象,我寧願某種回調,讓我的應用程序提供這個圖像。

我該如何做到這一點?

回答

2

也許這有點矯枉過正,但也許它可以爲你工作。

只需讓您的應用程序充當HTTP服務器即可。然後,你可以有路徑是這樣的:

<IMG src="http://localhost:73617/photos/album1/123456.jpg"> 

其中73617是一個隨機端口,你可以讓你的應用程序偵聽其他端口。然後,當您的應用程序檢索到圖像的請求時,它會從您想要的位置獲取它。它仍然涉及一臺服務器,但至少您可以完全控制從哪裏獲取資源。

因此,WebKit會在圖像中看到url,發送一個請求,你的App獲取請求,讀取資源,返回資源。所以基本上你仍然從你的應用中獲得它。

希望這會有所幫助。

+0

謝謝。我想到了localhost,但希望能有一個更簡單的方法。我如何實現我的服務器?這僅僅是創建套接字和服務請求的問題嗎? – 2010-05-28 21:34:32

+1

事實上,它只是通過創建套接字來監聽特定端口的問題。 你也需要實現HTTP協議。當然不是一切。你需要實現GET命令,可能是HEAD,就是這樣。不應該花很長時間。 你只需要解析HTTP命令並返回適當的資源+頭文件。幸運的是,HTTP協議上有很多文檔,所以你應該沒有問題。 – vanneto 2010-05-28 22:36:42