2010-10-24 24 views
2

將我需要加載Java腳本對象到QwebKit當我的應用程序加載
我可以使用setHtml與HTML和格式化的Java腳本字符串,但它很難 維護。
我的問題是我可以嵌入HTML和Java腳本作爲資源到Qwebkit?
另外我不知道html和javascript可以提供給應用程序用戶使用是否可以嵌入HTML與JS到QwebKit

回答

3

是的,你可以。

只需將您的JS/CSS添加到資源文件(如果您不知道如何查找Qt文檔),然後在您的HTML中簡單地使用qrc:/file/path/or/alias

例如,如果我添加了jQuery資源文件,別名爲/js/jquery,然後加載它,我把這個在我的HTML文件:

<script type="text/javascript" src="qrc:/js/jquery"></script> 

加載從資源文件中的HTML文件似乎更努力,因爲我似乎無法使QWebKit::setUrl(QUrl("qrc:/resource/path"))工作(「:/資源/路徑」也不適用於我)。我目前所做的是:

QString readFile (const QString& filename) 
{ 
    QFile file(filename); 
    if (file.open(QIODevice::ReadOnly | QIODevice::Text)) 
    { 
     QTextStream stream(&file); 
     return stream.readAll(); 
    } 
    return ""; 
} 

... 
myWebKitObject->setHtml(readFile("qrc:/html/index")); 

雖然創建到其他HTML資源的鏈接可能是個問題。如果有人知道如何處理這個問題,請評論! (我想你可以通過重新實現網絡管理器類來攔截Webkit發送http請求時的攔截,並且如果它們用於qrc:/ url,可以從資源系統中讀取文件並作出響應,但是必須管理MIME類型和這樣的(例如,如果資源是一個圖像)你自己...)

相關問題