当我创建网页时,我希望页面上的所有功能都放在不同浏览器的相同位置。当我在不同的浏览器上运行页面时,有时会将某些功能放在不同的位置。我正在使用这些变量来确定正在打开的浏览器,并使用if语句确定一些选项。
//var firefox = (navigator.userAgent.indexOf("Firefox") != -1);
//var opera = (navigator.userAgent.indexOf("Opera") != -1);
//var ie = (navigator.userAgent.indexOf("MSIE") != -1);
//var safari = (navigator.userAgent.indexOf("Safari") != -1);
//var scrome = (navigator.userAgent.indexOf("Chrome") != -1);
1。当某些功能放在不同浏览器的不同位置时,这样做是否是一种好方法?
2.当我使用'navigator.userAgent.indexOf(...)'时返回什么类型。它是布尔值还是某种类型的集合,它返回参数的位置,就像哈希表一样?什么类型的确切返回?
答案 0 :(得分:0)
不同的浏览器可能会有不同的初始位置行为,让它们表现相同的一个好方法是进行CSS重置。
navigator.userAgent
是一个字符串对象,因此.indexOf(...)
返回整数Number
答案 1 :(得分:0)
(1)不要根据用户代理字符串进行浏览器检测。这非常不可靠,而且非常不是2013年。您希望使用像modernizr这样的框架来检测哪些功能受支持(哪些功能不受支持)。 This是一个好的开始。
(2)不是集合,只是一个描述原始字符串中搜索字符串位置的数字。请参阅here,或自行了解:
typeof(navigator.userAgent.indexOf("foo"))
(3)BTW:发布初学者问题的惊人名称;)
答案 2 :(得分:0)
所以你想找到这个我想:
<!--[if IE]>
<link rel="stylesheet" type="text/css" href="style.css" />
<!-->
该代码应放在页面的Head部分,您可以为每个浏览器指定一个多个css页面,此链接适用于IE(Internet Explorer),例如