首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >可以将带有js的html嵌入到QwebKit中吗?

可以将带有js的html嵌入到QwebKit中吗?
EN

Stack Overflow用户
提问于 2010-10-24 20:12:51
回答 1查看 1.6K关注 0票数 2

在加载应用程序时,我是否需要将java脚本对象加载到QwebKit中

我可以使用带格式的html和java脚本字符串的setHtml,但它很难维护。

我的问题是,我可以将html和java脚本作为资源嵌入到Qwebkit中吗?

此外,我也不知道应用程序用户可以使用html和javascript

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-10-27 02:12:30

可以,停那儿吧。

只需将您的JS/CSS添加到资源文件(如果您不知道如何添加,请查阅Qt文档),然后在您的超文本标记语言中只需使用qrc:/file/path/or/alias

例如,如果我将别名为/js/jquery的JQuery添加到资源文件中,然后要加载它,我会将以下代码放入我的HTML文件中:

代码语言:javascript
复制
<script type="text/javascript" src="qrc:/js/jquery"></script>

从资源文件加载一个超文本标记语言文件似乎更费力,因为我似乎不能让QWebKit::setUrl(QUrl("qrc:/resource/path"))工作(“:/资源/路径”对我也不起作用)。我现在做的是这样的:

代码语言:javascript
复制
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类型等(例如,如果资源是图像)。)

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4008143

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档