我正在使用Qt 4.6.3
当文本浏览器html有参考
时<a href="myprotocol://ABC"/>click me!</a>
然后点击,它会发出带有网址
的anchorClicked信号myprotocol://abc
如何修复(我需要正确的案例......)?
答案 0 :(得分:3)
QUrl始终小写主机名。
QUrl符合RFC 3986(统一资源标识符:通用语法)中的URI规范,并包含RFC 1738(统一资源定位符)的方案扩展。 QUrl中的大小写折叠规则符合RFC 3491(Nameprep:国际化域名(IDN)的Stringprep配置文件)。
...
请注意,Qurl符合的Nameprep中的大小写折叠规则要求主机名始终转换为小写,而不管使用的是Qt :: FormattingOptions。
(From Qt 4.7 documentation,最接近4.6.3)
如果您使用“假”网址只是在应用程序周围传递一些数据,则可以使用虚拟主机名保留大小写,并将实际信息作为路径或查询传递。例如。 myprotocol:///ABC
(与编写localhost / ABC相同)。
答案 1 :(得分:2)
在这种情况下,ABC
作为您网址的主机(域)名称进行处理。虽然格式不限制它,并且主机名不区分大小写,但建议URL应区分大小写。例如,W3 states:
URL通常区分大小写(机器除外) 名)。可能存在URL或URL的一部分,但大小写不存在 问题,但识别这些可能并不容易。用户应该永远 认为URL区分大小写。
我认为,浏览器也遵循该规则:所有带大写字符的网址都转换为小写。我在Chrome,FF和IE上试过这个。