2013-03-21 3 views
0

Когда я создаю веб-страницу, я хочу, чтобы все функции на странице размещались в одной и той же позиции в разных браузерах. Иногда некоторые функции размещаются на разных позициях, когда я запускаю страницу в разных браузерах. Я использую эти переменные, чтобы определить, какой браузер открывается правильно знать, а с помощью оператора 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
  1. Различные браузеры могут иметь различное поведение начальных позиций, хорошая практика, чтобы сделать их поведение же делать сброс CSS.

  2. navigator.userAgent является строкой объекта, таким образом, .indexOf(...) возвращает целое Number

+0

Что вы имеете в виду abaout CSS reset? Можете привести мне пример. Должен ли я использовать код выше? – theChampion

+0

Существует один миллион различных причин, по которым два браузера могут отображать одну и ту же страницу по-разному. Я не уверен, что сброс CSS очень полезен. –

+0

Например, изначально разные браузеры могут устанавливать разный запас для элемента body. Итак, чтобы сделать согласованный макет, вам нужно обращаться по-разному для разных браузеров. Хорошим решением является то, что мы сначала удалим все стили по умолчанию в браузере, тогда все взгляды будут одинаковыми, и мы можем добавлять пользовательские стили для всех браузеров. это называется сбросом CSS. В статье показана дополнительная информация http://sixrevisions.com/css/css-tips/css-tip-1-resetting-your-styles-with-css-reset/ – Shuping

0

(1) не делают обнаружение браузера на основе строки агента пользователя. Это очень ненадежно и очень не важно. Вы хотите использовать инфраструктуру, например modernizr, для определения поддерживаемых функций (а какие нет). This - хорошее начало.

(2) Не набор, просто число, которое описывает положение искомой строки в исходной строке. См here, или узнать себя:

typeof(navigator.userAgent.indexOf("foo")) 

(3) BTW: удивительное имя для размещения начинающих вопросы;)

+0

Благодарим вас за ответ. Еще один вопрос: могу ли я использовать вышеприведенный код только для позиционирования, например, margin и padding для некоторого элемента тега? – theChampion

+0

Пожалуйста, не задавайте новые вопросы в комментариях - скорее обновите исходный вопрос. –

0

так что вы ¨R ищете это я думаю:

<!--[if IE]> 
    <link rel="stylesheet" type="text/css" href="style.css" /> 
    <!--> 

, что код должен быть размещен в разделе «Глава» страницы, на котором вы могли бы указать несколько страниц css для каждого браузера, эта ссылка предназначена для IE (Internet Explorer), например

Смежные вопросы