【问题标题】:Why QWebkit doesn't resolve file:// and qrc:// when used in -webkit-scrollbar css?为什么 QWebkit 在 -webkit-scrollbar css 中使用时不解析 file:// 和 qrc://?
【发布时间】:2012-01-31 15:07:57
【问题描述】:

示例 #1:

::-webkit-scrollbar-button {
    background-image: url(file:///tmp/bg.png);
}

示例 #2:

::-webkit-scrollbar-button {
    background-image: url(qrc://bg.png);
}

以上示例仅在 QWebPage 显示本地 html 页面时有效。对于http://stackoverflow.com,它不起作用。我已经使用 QWebSettings::setUserStyleSheetUrl() 设置了样式 - 这是一个用户样式表。

【问题讨论】:

    标签: css webkit background-image scrollbars qwebkit


    【解决方案1】:

    您必须使用命令行标志--allow-file-access-from-files 启动 Chrome(我假设这是您正在使用的浏览器),否则它不会动态加载本地文件(使用 file:// 协议),因为这可能会带来很大的安全风险。

    您可以查看http://code.google.com/p/chromium/issues/detail?id=4197&can=1&q=allow-file-access-from-files&colspec=ID%20Stars%20Pri%20Area%20Feature%20Type%20Status%20Summary%20Modified%20Owner%20Mstone%20OS 了解此标志的完整历史、为什么它会这样以及为什么会这样实现。

    【讨论】:

    • 我正在通过 QWebKit 使用 Webkit。我在 Qt 文档中找不到有关 allow-file-access-from-files 的任何信息。这按预期工作:body { background-image: url(file:///tmp/bg.png); },所以看起来这是在 QWebKit 中默认启用的。
    • 是的,以 http:// 开头的图像将毫无问题地加载。我在 Qt 文档中找到了 QWebSettings::LocalContentCanAccessFileUrls,我可以确认 - 默认情况下它是启用的。
    • 你终于找到原因了吗?
    • 不,很遗憾,我没有:-(
    • 看起来 qrc 引用缺少第三个正斜杠。
    猜你喜欢
    • 2012-07-26
    • 2011-04-27
    • 2020-10-05
    • 1970-01-01
    • 1970-01-01
    • 2021-11-04
    • 1970-01-01
    • 2016-08-21
    • 1970-01-01
    相关资源
    最近更新 更多