У меня есть раскрывающийся список выбора, который должен представлять иерархию страниц на сайте.
<select id="parent" name="parent">
<option value="">(none)</option>
<option class="inset0" value="home">home</option>
<option class="inset1" value="aboutpage">aboutpage</option>
<option class="inset2" value="about">about</option>
<option class="inset2" value="staff">staff</option>
<option class="inset1" value="news">news</option>
<option class="inset1" value="products">products</option>
<option class="inset2" value="starter">starter</option>
<option class="inset3" value="nesso">nesso</option>
</select>
Конструкция выполнена на основе и стилизована с использованием CSS.
option.inset0 {text-indent:0px;}
option.inset1 {text-indent:10px;}
option.inset2 {text-indent:20px;}
option.inset3 {text-indent:30px;}
option.inset4 {text-indent:40px;}
option.inset5 {text-indent:50px;}
option.inset6 {text-indent:60px;}
При этом параметры более глубоких уровней отображаются с отступом в зависимости от глубины каждой страницы в иерархии сайта. Однако этот стиль работает только в FireFox, а не в Chrome. Я знаю, что стилизация элементов управления в значительной степени неравномерна среди браузеров и операционных систем, поэтому я не буду туда идти Вместо этого я хотел бы добавить символы «-» перед текстом каждого параметра, чтобы сделать иерархию видимой. Мне нужно сделать это только для Chrome, поскольку в этом проекте я вообще не поддерживаю IE.
Манипуляции с текстом объекта будут выполняться в javascript.
Мой вопрос такой:
Зная, что обнаружение в браузере не рекомендуется, и вместо него рекомендуется обнаружение функций, как я могу выполнить обнаружение функций для этого поведения браузера? Если это невозможно, есть ли быстрый тест, который позволит мне узнать, нахожусь ли я в Chrome / webkit или Firefox / Gecko?