Jump to content
  • 0

Как отличить Mozilla от Safari?


Людмила
 Share

Question

22 answers to this question

Recommended Posts

  • 0

В «Справка» — «О программе» пробовал смортеть?

jQuery.browser = {
version: (userAgent.match( /.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/ ) || [])[1],
safari: /webkit/.test( userAgent ),
opera: /opera/.test( userAgent ),
msie: /msie/.test( userAgent ) && !/opera/.test( userAgent ),
mozilla: /mozilla/.test( userAgent ) && !/(compatible|webkit)/.test( userAgent )
};

Link to comment
Share on other sites

  • 0
В «Справка» — «О программе» пробовал смортеть?

jQuery.browser = {
version: (userAgent.match( /.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/ ) || [])[1],
safari: /webkit/.test( userAgent ),
opera: /opera/.test( userAgent ),
msie: /msie/.test( userAgent ) && !/opera/.test( userAgent ),
mozilla: /mozilla/.test( userAgent ) && !/(compatible|webkit)/.test( userAgent )
};

Для меня это сложно, к сожалению. Вот написала для начала:

<script language="Javascript" type="text/javascript"  src="jquery.js">
if ($.browser.msie) {document.write("MSIE");}
if ($.browser.mozilla) {document.write("mozilla");}
if ($.browser.opera) {document.write("opera");}
if ($.browser.safari) {document.write("safari");}
</script>

Надо как-то подключить jquery.js - это я в состоянии понять. Почитала, что могла, на русском в сети (на английском не стала - собственно, и читала переводы) Загрузила jquery-1.2.6.pack.js, как рекомендовано.

И что с ним теперь делать? Переименовать в jquery.js и загрузить на сайт? Пробовала. Не хочет работать. Что делать?

Link to comment
Share on other sites

  • 0
> И что с ним теперь делать?

С вашим знанием предмета разговора только пойти повешаться.

Когда я осваиваю предмет разговора на хорошем уровне - обычно без вопросов помогаю тем, кому нужна моя помощь. Может, рано вешаться, а? Вполне возможно, еще освою предмет разговора и кому-нибудь помогу.

Взялась домазать сайтик, со своей дотошностью обнаружила, что предыдущие разработчики многого не сделали. Пытаюсь сделать с помощью молотка и чьей-то мамы. По ночам, поскольку сейчас нашла другую работу, программирование вспоминать приходится.

Вопрос заключается в следующем - как подключить jquery? Download скрипт с сайта разработчика и upload на свой сервер? Или в промежутке что-то с этим скриптом сделать?

Спасибо за помощь.

Edited by Людмила
Link to comment
Share on other sites

  • 0

browser = {
version: (userAgent.match( /.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/ ) || [])[1],
safari: /webkit/.test( userAgent ),
opera: /opera/.test( userAgent ),
msie: /msie/.test( userAgent ) && !/opera/.test( userAgent ),
mozilla: /mozilla/.test( userAgent ) && !/(compatible|webkit)/.test( userAgent )
};

if (browser.msie){
alert('Это долбаный эксплорер!');
}
if (browser.safari){
alert('Это гамурный сафари!');
}
if (browser.opera){
alert('Это Опера — красавица!');
}
if (browser.mozilla){
alert('Это брутальный фаерфокс!');
}

> Надо как-то подключить jquery.js - это я в состоянии понять.

Угу. Ага. Не надо.

Link to comment
Share on other sites

  • 0
<html> 
<body>
<script type="text/javascript">
var userAgent = navigator.userAgent.toLowerCase();
var browser = {
version: (userAgent.match( /.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/ ) || [])[1],
safari: /webkit/.test( userAgent ),
opera: /opera/.test( userAgent ),
msie: /msie/.test( userAgent ) && !/opera/.test( userAgent ),
mozilla: /mozilla/.test( userAgent ) && !/(compatible|webkit)/.test( userAgent )
};
if (browser.msie){
alert('Это долбаный эксплорер!');
}
if (browser.safari){
alert('Это гамурный сафари!');
}
if (browser.mozilla){
alert('Это брутальный фаерфокс!');
}
if (browser.opera){
alert('Это Опера — красавица!');
}
</script>
</body>
</html>

Link to comment
Share on other sites

  • 0

Опера полный отстой, а не красавица( http://xpoint.ru/forums/thread/35881.xhtml ). Я полагаю, что самым "правильным" браузером, где меньше всего неприятностей является Фаерфокс.

Edited by Ялекс
Link to comment
Share on other sites

  • 0

> Опера полный отстой

Очень интересно было познакомиться с вашим мнением, к счастью оно ничего не значит.

Вы бы источники знаний обновили, а то скоро уже 2009-й год, а вы ссылаетесь на личные мнения людей начала 2006-го.

Link to comment
Share on other sites

  • 0

homm, я не опираюсь на мнения каких то людей, я просто подкрепил свою уверенность ими. Просто иногда сталкивался с такими косяками в Опере, что не поймеш какая природа этих ошибок, и это не потому что, "я не умею верстать", а потому что браузер сам по себе "держится на соплях". Хотя спасибо им за оперу мини...

Edited by Ялекс
Link to comment
Share on other sites

  • 0

> Просто иногда сталкивался с такими косяками в Опере, что не поймеш какая природа этих ошибок

А ты наверное в фф никогда с глюками не сталкиваешься? Завидую тебе, мил человек.

Полюбуйся: http://lradio.ru/photo-video/?tags=3

Попробуй поперезагружать страницу, пока не нарвешся на такое в случайном месте:

ff-bug.gif

Посмотри, дорогой, фаербагом, там создаются 5 <a>, хотя в коде один.

Внимание вопрос: Как во вменяемом, крепком, таком замечательном фф, который не на соплях сделан, вдруг один и тот-же код рендирится в разное DOM-дерево, совершенно случайнейшим образом в разный местах. Такого же не может быть!

Так что не надо, мал ты еще, не все видел. Любой браузер способен сюрприз приподнести, в опере их не меньше, но и не больше чем у всех.

А за то, что дебильный ФФ при запуске версии 3 после 2 или 2 после 3 каждый раз поздравляет меня с апгрейдом, я его ненавижу всеми фибрами своей души. А за то, что какой-то мудрец-разработчик придумал, что нельзя обновременно 2 версии запустить, я готов ему лично по иголке в день под ногти всаживать.

Link to comment
Share on other sites

  • 0
А за то, что какой-то мудрец-разработчик придумал, что нельзя обновременно 2 версии запустить, я готов ему лично по иголке в день под ногти всаживать.

Это, кстати, да... Неприятный момент.

Но на Оперу не перейду пока :-)

Link to comment
Share on other sites

  • 0

Это, конечно, уже злобный оффтопик, но....

set MOZ_NO_REMOTE=0
"C:\Program Files\Mozilla Firefox\firefox.exe"

решает проблему запуска сколь угодно большого числа различных ФФ. Главное указать полный путь в скрипте.

Link to comment
Share on other sites

  • 0
Но на Оперу не перейду пока :-)

Да я не призываю. Просто порядком бесят юнцы, писающие кипятком от продукции эпл и фаерфокса, это же так модно. Надо своими глазами смотреть и видеть и плюсы и минусы, а не быть стадом.

Link to comment
Share on other sites

  • 0
Да я не призываю. Просто порядком бесят юнцы, писающие кипятком от продукции эпл и фаерфокса, это же так модно. Надо своими глазами смотреть и видеть и плюсы и минусы, а не быть стадом.

Но хоть от чего то да надо тащится, не надо ставить все в один ряд и говорить что все глючат, некоторые все же глючат меньше и это явно не опера и мелкософт.

Я понимаю тот факт, что если софтом не будут пользоваться - разработчикам будет очень сложно самостоятельно находить ошибки. Я понимаю что по этой причине у меня стоят недоделанные четвертые кеды. Но, когда разработчикам KDE отсылаешь отчёт об ошибке - её, как правило, исправляют. И вот я не понимаю почему разработчикам оперы плевать на багрепорты которые им шлют. Наверно потому что они - козлы, я это заподозрил ещё когда первый раз посмотрел на фото их команды, мне они сразу не понравились.

И вашего выбора я не понимаю.

Опера - очень сырой продукт, это я говорю как разработчик с учётом того что мне все равно какого цвета там кнопочки и насколько быстро переключаются вкладки. Только на личном опыте. С ФФ у меня больших проблем не возникает, даже с ИЕ не столько сколько с оперой, потому что её поведение зачастую действительно не то чтобы трудно было объяснить, а вообще нереально.

Вот проблема, которой я решить не смог. Есть слой, позиционирован абсолютно, ширина и высота указаны в пикселах. В нем ещё один слой, позиционирован абсолютно, высота и ширина по 100%. при этом везде все нормально. Далее начинаю менять размер внешнего слоя, внутренний по идее должен тоже менять свой размер и занимать всю площадь родительского. Если в опере менять только ширину родительского слоя - все хорошо, если и ширину и высоту одновременно - тоже. Но если менять только высоту - вложенный слой не меняет своего размера.

Такой "эффект" только в опере, во всех браузерах (а это не только ФФ и ИЕ) все нормально?

Могу перечислить ещё такие эффекты. При этом я согласен что опера может нормально работать с простенькими сайтами и даже хорошо их понимать. Она может привлекать пользователей своей простотой (имею в виду адресную строку и пару кнопочек, а с недавнего времени ещё и идиотский вид, который разработчики пока что могли бы вообще не трогать имея огромное количество более важных проблем), но стоит влезть глубже, попытаться сделать что либо более сложное - обязательно найдется масса непонятностей, большую часть из который понять, скорее всего, так и не удастся.

Хух, накипело :P

Link to comment
Share on other sites

  • 0

> И вот я не понимаю почему разработчикам оперы плевать на багрепорты которые им шлют.

> Наверно потому что они - козлы, я это заподозрил ещё когда первый раз посмотрел на фото их команды, мне они сразу не понравились.

Дядя Саша, Вы просто идиот раз так искренне полагаете. А с идиотами, как известно спорить безполезно. Я думаю, любому не-идиоту в принципе должно быть очевидно, что разработчики решают проблемы в порядке критичности и не могут решить все роблемы сразу, как бы им этого не хотелось.

Дядя Саша, раз вы искренне считаете что ФФ всегда белый и пушистый, вы читали пост http://forum.htmlbook.ru/index.php?s=&...ost&p=73811 ??? Вам тоже кажется логичным поведение браузера, строящим верное или не верное DOM-дерево, ориентируясь на какие-то свои внутренние случайные процессы? Или может быть вы мне подскажете простой способ избавится от этого эффекта? Буду примного благодарен.

У меня пока все отлично:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html xmlns='http://www.w3.org/1999/xhtml' lang='ru' xml:lang='ru'>
<head>
<style type='text/css'>
#megablock {
position: absolute;
left: 20%; top: 20%;
width: 500px;
height: 400px;
background: red;
}
#megablock div {
position: absolute;
width: 100%;
height: 100%;
top: 0; left: 0;
background: blue;
opacity: 0.3;
}
</style>
</head>
<body>
<div id="megablock">
<div></div>
</div>
<button onclick="return DoThis();">do this</button>
<script type='text/javascript'>
function DoThis() {
var el = document.getElementById('megablock');
var Counter = 400;
var _Timer = setInterval(function() {
Counter += 1;
el.style.height = Counter.toString() + 'px';
if (Counter >=500) {
clearInterval(_Timer);
}
}, 1);
return false;
}
</script>
</body>
</html>

Даже в 9.2 все хорошо. А уж ветку 9.5, реально, ругать приходится в 2 раза реже.

Link to comment
Share on other sites

  • 0
Дядя Саша, Вы просто идиот раз так искренне полагаете. А с идиотами, как известно спорить безполезно. Я думаю, любому не-идиоту в принципе должно быть очевидно, что разработчики решают проблемы в порядке критичности и не могут решить все роблемы сразу, как бы им этого не хотелось.

Дядя Саша, раз вы искренне считаете что ФФ всегда белый и пушистый, вы читали пост http://forum.htmlbook.ru/index.php?s=&...ost&p=73811 ??? Вам тоже кажется логичным поведение браузера, строящим верное или не верное DOM-дерево, ориентируясь на какие-то свои внутренние случайные процессы? Или может быть вы мне подскажете простой способ избавится от этого эффекта? Буду примного благодарен.

Нет, дорогой homm (хам подходит лучше), идиот - это про вас, если действительно полагаете что я верю в это. У меня просто сильная неприязнь к их продукту (как например у вас ко мне, ведь вы не скромничаете в предположениях)

Вы дважды идиот если предположили что я считаю ФФ белым и пушистым.

Ещё мне не понятно как разработчики Опера оценивают критичность проблемы? Может по 10-ти бальной шкале? Тогда наверно им действительно плевать на проблемы, которые не превышают баллов 4-х, зато я ими наслаждаюсь каждый день.

Ещё по поводу примера, я ошибся и нечаянно наврал. Дело в том что в слой вложен не ещё один слой, а таблица.

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html xmlns='http://www.w3.org/1999/xhtml' lang='ru' xml:lang='ru'>
<head>
<style type='text/css'>
#megablock {
position: absolute;
left: 20%; top: 20%;
width: 500px;
height: 400px;
background: red;
}
#megablock table {
position: absolute;
width: 100%;
height: 100%;
top: 0; left: 0;
background: blue;
}
</style>
</head>
<body>
<div id="megablock">
<table class=''>
<tr>
<td class=''></td>
<td class=''></td>
<td class=''></td>
</tr>
<tr>
<td class=''></td>
<td class=''></td>
<td class=''></td>
</tr>
<tr>
<td class=''></td>
<td class=''></td>
<td class=''></td>
</tr>
</table>
</div>
<button onclick="return DoThis();">do this</button>
<script type='text/javascript'>
function DoThis() {
var el = document.getElementById('megablock');
var Counter = 400;
var _Timer = setInterval(function() {
Counter += 1;
el.style.height = Counter.toString() + 'px';
if (Counter >=500) {
clearInterval(_Timer);
}
}, 1);
return false;
}
</script>
</body>
</html>

А теперь попробуйте так.

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html xmlns='http://www.w3.org/1999/xhtml' lang='ru' xml:lang='ru'>
<head>
<style type='text/css'>
#megablock {
position: absolute;
left: 20%; top: 20%;
width: 400px;
height: 400px;
background: red;
}
#megablock table {
position: absolute;
width: 100%;
height: 100%;
top: 0; left: 0;
background: blue;
}
</style>
</head>
<body>
<div id="megablock">
<table class=''>
<tr>
<td class=''></td>
<td class=''></td>
<td class=''></td>
</tr>
<tr>
<td class=''></td>
<td class=''></td>
<td class=''></td>
</tr>
<tr>
<td class=''></td>
<td class=''></td>
<td class=''></td>
</tr>
</table>
</div>
<button onclick="return DoThis();">do this</button>
<script type='text/javascript'>
function DoThis() {
var el = document.getElementById('megablock');
var Counter = 400;
var _Timer = setInterval(function() {
Counter += 1;
el.style.height = Counter.toString() + 'px';
el.style.width = Counter.toString() + 'px';
if (Counter >=500) {
clearInterval(_Timer);
}
}, 1);
return false;
}
</script>
</body>
</html>

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy