【问题标题】:QWebView can't display external image content set via javascript $("#<node_name>").html(<html_content>)QWebView 无法显示通过 javascript $("#<node_name>").html(<html_content>) 设置的外部图像内容
【发布时间】:2012-01-20 10:19:47
【问题描述】:

我现在正在将项目从 MFC 迁移到 Qt,它使用嵌入式 Web 浏览器,它显示本地(资源)html 页面。本地页面显示正常,没有问题。但是我在将 html 内容设置为子标签时遇到了问题。 QWebView 无法显示通过 javascript $("#").html() 设置的外部图像 - 仅显示文本和本地(资源)图像。在带有 IE webview 的 MFC 版本中,相同的脚本可以正常工作。

我尝试使用 QWebElement::setInnerXml,但结果是一样的:只显示本地内容。

之后我尝试使用 QWebFrame::setHtml,但调用后应用程序在 QWebPuginDatabase::searchPathes 某处崩溃,尽管我从主线程调用 QWebFrame::setHtml。

有人遇到过同样的问题吗?有没有人可以解决我的问题?

谢谢

【问题讨论】:

    标签: javascript c++ html qt web


    【解决方案1】:

    您可能需要更改设置,请尝试:

    QWebSettings::globalSettings()->setAttribute(
        QWebSettings::LocalContentCanAccessRemoteUrls, true);
    

    QWebSettings 文档将attribute 描述为(强调我的):

    指定是否允许本地加载的文档访问远程 url。 默认情况下禁用此功能。有关安全来源以及本地与远程内容的更多信息,请参阅QWebSecurityOrigin

    【讨论】:

    • 这个选项没有帮助。 javascript 函数和 QWebElement::setInnerXml 方法的行为相同。
    • 你在创建 QWebView 之前是否调用了setAttribute 行?
    • 我在创建 ui 之前移动了属性集。没有变化。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多