有没有办法只让Opera浏览器看到一些CSS规则?
有没有办法只让Opera浏览器看到一些CSS规则?
我能想到的唯一方法是检查用户代理,并且只有在 Opera 浏览器时才引用样式表。由于用户代理可能被篡改,这种方法可能不是100%可靠。
@certainlyakey 对我来说非常好用:
@media all and (-webkit-min-device-pixel-ratio:10000), not all and (-webkit-min-device-pixel-ratio:0) { #id {css规则} }
我有一个页面上有一个按钮,在Opera中文本无法正确呈现。该按钮出现多次(添加到购物车)。应用此修复后,它完美地工作了。
绝对不推荐这种做法。
在Google上查找JavaScript或PHP浏览器嗅探器。有些可能已经过时,您需要添加Opera 9.5+的检测。
浏览器嗅探器(用于样式)通常是不好的实践。
此外,请注意,Opera 9.5+允许用户将其浏览器伪装成IE,使任何类型的嗅探都无效。
编辑:正如您在另一个答案中看到的那样,有window.opera.version()
。我不知道window.opera
对象包含这些信息。但是,当某人将Opera设置为以IE或其他浏览器的身份出现时,您应该查看是否仍然可以使用此对象。
window.opera
变量?如果没有,通过JavaScript仍然可以检测到。 - Ben Blankwindow.opera
对象可用,您无法区分Opera 9.5+和早期版本。提问者特别引用了Opera 9.5+,因此我不确定他是否只关心9.5+还是必须针对9.5+。将编辑我的答案。 - user136565window.opera.version()
这个方法…… 这说明了我对 Opera 的关注程度。:) - user136565