2010-01-04 82 views
10

我在HTML页面中有一个密码字段,它在输入密码时不显示子弹或星号,而是一个看起来是问号符号的小方块。为什么IE8在HTML密码字段中显示问号而不是项目符号?

我试过这个在Firefox中,并且在那里显示正常的项目符号,就像在其他Web窗体中输入密码一样。

有没有方法HTML,CSS或Javascript可以影响什么符号显示?我们有一个相当复杂的Web框架(Oracle ADF富客户端),尽管基于相同框架的其他应用程序不会显示此行为。

+1

可能与字符编码有关。 – 2010-01-04 13:20:56

+0

它可能,但据我们所知,页面是以UTF8格式提供的。 – 2010-01-04 13:35:12

+0

您是否根据浏览器使用了不同的css表单(例如,ie.css表单)?如果是这样,我会尝试将FF用户代理更改为IE并查看它是否被复制。此外,这是真正的多台计算机与不同的配置(可能是一个搞砸的系统配置) – Cryophallion 2010-01-04 14:09:22

回答

15

这是一个字体问题。 IE试图使用U + 25CF黑色圆圈字符(●,与SO使用的同一个徽章)来呈现其密码字符,但是在正在使用的字体中找不到字形。

,如果你已经改变了<input>元素的字体不包含字形的这个角色,或者,如果用户已经拨弄自己FontSubstitutesMS Shell Dlg,字体的IE使用到的font-family这可能发生在默认情况下渲染表单域,指向包含●的字形的“Microsoft Sans Serif”以外的内容。

Firefox有自己的字体后退算法与IE/Windows分开,它们更有可能回落到包含●的不同字体。

+0

就是这样,谢谢!字体是Calibri .. – 2010-01-04 15:32:41

+0

这个问题还有更多的问题:使用Calibri,字符U + 25CF在类型为“text”的输入中显示得很好,但同一个字符U + 25CF显示为带有问号的正方形在类型为“password”的输入的掩码文本中。 – 2012-06-25 15:10:16

+2

密码输入的行为与Internet Explorer 8中丢失的字形方面不一致。对于文本输入/其他元素(span,div ...)中显示的文本,会有一连串后退字体用于查找缺少字形。如果在CSS中选择的font-family中找不到字形,默认情况下,将使用Internet选项“Times New Roman”/“Courier New”中配置的默认字体查找字形。如果在配置的默认值中找不到字形,则会在另一个系统字体中查找该字形。在密码输入中情况并非如此,它看起来更像是一个bug而不是一个功能。 – 2012-06-25 16:11:25

相关问题