如果他们使用的是Internet Explorer
v9之前的版本,我想将我们网站的用户反弹到错误页面.我们的时间和金钱都不值得支持IE pre-v9
.所有其他非IE浏览器的用户都很好,不应该被退回.这是建议的代码:
if(navigator.appName.indexOf("Internet Explorer")!=-1){ //yeah, he's using IE
var badBrowser=(
navigator.appVersion.indexOf("MSIE 9")==-1 && //v9 is ok
navigator.appVersion.indexOf("MSIE 1")==-1 //v10, 11, 12, etc. is fine too
);
if(badBrowser){
// navigate to error page
}
}
Run Code Online (Sandbox Code Playgroud)
这个代码会起作用吗?
关闭一些可能会出现的评论:
useragent
字符串.我并不担心.pre-v9 IE
浏览器都不支持.在整个站点中按功能检查功能将是一种浪费.IE v1
(或> = 20)访问该网站不会将'badBrowser'设置为true,并且警告页面将无法正确显示.这是我们愿意承担的风险.IE 10
,使得这种方法绝对无用.还有其他明显的问题需要注意吗?
如何针对某些情况(如Internet Explorer特定的CSS或特定于Internet Explorer的JavaScript代码)仅定位Internet Explorer 10?
我试过这个,但它不起作用:
<!--[if IE 10]> <html class="no-js ie10" lang="en"> <![endif]-->
<!--[if !IE]><!--> <html lang="en" class="no-js"> <!--<![endif]-->
Run Code Online (Sandbox Code Playgroud)
Internet Explorer 10忽略条件注释并使用<html lang="en" class="no-js">
而不是<html class="no-js ie10" lang="en">
.
html javascript css conditional-comments internet-explorer-10
IE10 +不再支持浏览器检测标签来识别浏览器.
为了检测IE10,我使用JavaScript和功能测试技术来检测某些带ms
前缀的样式,例如msTouchAction
和msWrapFlow
.
我想对IE11做同样的事情,但我假设所有的IE10样式也将在IE11中得到支持.任何人都可以帮我识别IE11中唯一可以用来分辨两者的风格或功能吗?
额外信息
我也在使用Modernizr,但在这里没有用.我需要帮助解决我明确提出的问题.
所以今天早上我得到IE 11的自动更新,在检查了我的眼睛后,我的一些背景图像看起来很模糊.
我不得不检查是不是我的图像导致问题,所以在启动Chrome之后,它们又好又清脆......我完全不知所措.
我现在已经卸载了IE11更新,它们在IE10中再次变得漂亮和清晰......有没有其他人遇到过这个?
我已经包含了一个屏幕截图,显示了不同浏览器中的图像.
这是一个链接到一个jsfiddle
,我没有IE11任何更长的测试,但它与我使用的相同的标记和CSS:http://jsfiddle.net/3g52E/
我想css
只为IE11浏览器加载一个文件.我该怎么做?
我知道我可以使用conditional comments
加载样式表的IE <= 9.但不适用于IE 10和11.
我可以谷歌找到一个替代方案如下:
@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
/* IE10+ CSS styles go here */
}
Run Code Online (Sandbox Code Playgroud)
但是,它加载IE10和IE11浏览器.我想只为IE11 加载样式表.可能吗?
谢谢
html css stylesheet conditional-comments internet-explorer-11
我一直在使用以下技巧来制作特定于浏览器的html:
<!--[if (IE)]> <div class= "ie"> <![endif]-->
<!--[if !(IE)]><!--> <div class= "not_ie"> <!--<![endif]-->
</div>
Run Code Online (Sandbox Code Playgroud)
这不适用于IE11.有什么新技巧可以使用吗?
我可以使用javascript检测它:
要么
Object.hasOwnProperty.call(window, "ActiveXObject") && !window.ActiveXObject)
Run Code Online (Sandbox Code Playgroud)
但我希望避免这种情况.
我有一个用HTML生成电话号码的页面,如下所示:
<div class="phone">01987123456</div>
Run Code Online (Sandbox Code Playgroud)
我想要的只是在数字中放一个空格,如下所示:
01987 123456
Run Code Online (Sandbox Code Playgroud)
生成的数字和HTML将始终相同,但我只能访问客户端代码(HTML/CSS/Javascript/etc).
我希望找到一种方法来实现所有这一切,如果可能的话不使用Javascript,所以理想情况下我正在寻找CSS或HTML的答案.
我很确定这可以在Javascript中相当容易地完成,但是即使Javascript被禁用,客户也希望确保电话号码格式正确(不要问).
我想要最有效和最有效的方法来将数字改为我想要的.如果有人能够弄清楚如何在数字中添加括号(如下所示(01987) 123456
:)以及仅使用CSS/HTML的空间,您将立即得到正确的标记以及我永恒的感激之情.
编辑:
我认为CSS是用于设计的,我已经是一个15年以上的Web开发人员了.我真的可以用CSS黑客来制作我想要的东西,并且向客户解释网页设计的基础知识遗憾的是不是一种选择(他们认为他们知道的更好,我无法对他们做出任何决定).我有点噩梦,我需要你的帮助!
我知道可以使用CSS将内容添加到页面中content
.我知道::first-letter
@gillesc在评论中提到的方法.我希望这样的事情可以帮助我.
客户端使用现代浏览器,因此CSS3解决方案就可以了.
不,我不能改变输出的HTML.