在加载应用程序时,我是否需要将java脚本对象加载到QwebKit中
我可以使用带格式的html和java脚本字符串的setHtml,但它很难维护。
我的问题是,我可以将html和java脚本作为资源嵌入到Qwebkit中吗?
此外,我也不知道应用程序用户可以使用html和javascript
发布于 2010-10-27 02:12:30
可以,停那儿吧。
只需将您的JS/CSS添加到资源文件(如果您不知道如何添加,请查阅Qt文档),然后在您的超文本标记语言中只需使用qrc:/file/path/or/alias。
例如,如果我将别名为/js/jquery的JQuery添加到资源文件中,然后要加载它,我会将以下代码放入我的HTML文件中:
<script type="text/javascript" src="qrc:/js/jquery"></script>从资源文件加载一个超文本标记语言文件似乎更费力,因为我似乎不能让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:/ urls的,则从资源系统中读取文件并进行响应,但之后您必须自己管理mime类型等(例如,如果资源是图像)。)
https://stackoverflow.com/questions/4008143
复制相似问题