C++ 是否可以将带有js的html嵌入QwebKit
当我的应用程序正在加载时,我是否需要将java脚本对象加载到QwebKit中C++ 是否可以将带有js的html嵌入QwebKit,c++,html,qt,embed,qwebkit,C++,Html,Qt,Embed,Qwebkit,当我的应用程序正在加载时,我是否需要将java脚本对象加载到QwebKit中 我可以将setHtml与html和java脚本字符串一起使用,但是很难实现 维护。 我的问题是,我可以将html和java脚本作为资源嵌入Qwebkit吗? 此外,我不知道应用程序用户是否可以使用html和javascript。是的,您可以 只需将JS/CSS添加到资源文件(如果不知道如何查找Qt文档),然后在HTML中使用qrc:/file/path/或/alias 例如,如果我将JQuery添加到资源文件中(别名为
我可以将setHtml与html和java脚本字符串一起使用,但是很难实现 维护。
我的问题是,我可以将html和java脚本作为资源嵌入Qwebkit吗?
此外,我不知道应用程序用户是否可以使用html和javascript。是的,您可以 只需将JS/CSS添加到资源文件(如果不知道如何查找Qt文档),然后在HTML中使用
qrc:/file/path/或/alias
例如,如果我将JQuery添加到资源文件中(别名为/js/JQuery
),然后要加载它,我会将其放入HTML文件中:
<script type="text/javascript" src="qrc:/js/jquery"></script>
但是,创建指向其他HTML资源的链接可能是个问题。如果有人知道如何处理这个问题,请发表评论!(我想您可以通过重新实现network Manager类来实现这一点,当webkit发送http请求时进行拦截,如果这些请求是针对qrc:/URL的,则从资源系统读取文件并进行响应,不过您必须自己管理mime类型等(例如,如果资源是图像的话……)
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"));