我想根据浏览器是否为IE7更改我的javascript代码行。以下是任何其他浏览器的代码:
function showHint(myId)
{
document.getElementById(myId).style.display = "inline-block";
}
对于IE7,我想要display =“inline”。
我尝试了条件编译(this向我展示了如何检测浏览器),但它不起作用:
function showHint(myId)
{
document.getElementById(myId).style.display = "inline-block";
/*@cc_on
@if(navigator.appVersion.indexOf(“MSIE 7.”)!=-1)
{
document.getElementById(myId).style.display = "inline";
}
@*/
}
非常感谢任何帮助!
编辑:我没有使用JQuery。答案 0 :(得分:7)
设置由IE的 conditional comment解析行为决定的全局:
<!--[if IE 7]><script> var isIE7 = true; </script><![endif]-->
答案 1 :(得分:2)
您需要检查navigator.userAgent
。
如果你使用jQuery,你可以简单地写
if ($.browser.msie && $.browser.version === 7)
答案 2 :(得分:1)
我认为您可以使用正则表达式来确定MSIE 7:
if(/MSIE 7/.test(navigator.appVersion)) { /* msie7 related code */ }
答案 3 :(得分:0)
有一个Jquery插件检测浏览器版本。我不知道确切的链接...
答案 4 :(得分:0)
条件编译应该有效。您的错误似乎是您正在使用花哨的引号来分隔字符串(“MSIE 7.”
),或者您正在尝试将显示分配给IE未知的内容,并且它正在适应它并抛出错误。这是一个更简洁的函数版本,它不会重复并解决这个问题:
function showHint(myId)
{
document.getElementById(myId).style.display = "inline" //@cc_on;
+ "-block";
}