Обнаружьте точную версию ОС от браузера

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

Кроме того, я изменил маркер с '.' на 'o' для лучшей видимости.

Вы также можете включить drawnow (и, возможно, подходящий pause) после каждого plot, чтобы рисунок был немедленно обновлен. Это полезно, если вы хотите, чтобы линия, обозначенная маркерами, «росла».

f = @(x) (x).^2 - 10;
f_deriv = @(x) 2*x;
x0 = 1;
x_true = sqrt(10);
x_save = (x0);

hold on %%% New line
for jj = 1:20
    plot(jj,abs(x_save(jj)-x_true),'ko'); %%% Modified line
    x_new = x0 - f(x0)/f_deriv(x0);
    x_save(1+jj,1) = x_new;
    x0 = x_new;
end

xlim([0 20]);
ylim([0 2.5]);
xticks(0:20);
yticks(0:0.1:2.5);
18
задан Andrew Lott 4 March 2014 в 10:06
поделиться

6 ответов

Короткий ответ: Вы не можете.

ответ Long:

Все, что Вы имеете, является информацией в заголовке Агента пользователя HTTP, который обычно содержит имя ОС и версию.

Обычно, браузеры, работающие на Mac OS и Linux, отправляют достаточно информации для идентификации точной ОС. Например, вот мой заголовок Агента пользователя:

Mozilla/5.0 (X11; U; Linux x86_64; en-США; rv:1.9.0.7) Геккон/2009030423 Ubuntu/8.10 (бесстрашный) Firefox/3.0.7

Вы видите, что я выполняю Ubuntu 8.10 Бесстрашный Козерог.

И вот то, о чем Firefox и бета Safari 4 сообщают относительно моего MacBook Pro:

Mozilla/5.0 (Macintosh; U; OS X Intel Mac 10.5; en-США; rv:1.9.0.7) Firefox/3.0.7 Геккона/2009021906

Mozilla/5.0 (Macintosh; U; OS X Intel Mac 10_5_6; en-us), AppleWebKit/528.16 (KHTML, как Геккон) Safari/528.16 Версии/4.0

браузеры Windows, с другой стороны, обычно только сообщают о версии ОС а не определенном пакете (Pro, Бизнес, и т.д.):

Mozilla/5.0 (Windows; U; Windows NT 5.1; en-США; rv:x.x.x) геккон/20041107 Firefox/x.x

25
ответ дан 30 November 2019 в 06:01
поделиться

В Классическом ASP и использовании ASP.NET

Request.ServerVariables("HTTP_USER_AGENT")

Это работает лучше всего, так как это не интерпретировало код, это работает на сервере.

2
ответ дан 30 November 2019 в 06:01
поделиться

After some googling I found this code and it seems to be working ok,(doesn't detect Unix though)

<?php 
$OSList = array
(
// Match user agent string with operating systems
'Windows 3.11' => 'Win16',
'Windows 95' => '(Windows 95)|(Win95)|(Windows_95)',
'Windows 98' => '(Windows 98)|(Win98)',
'Windows 2000' => '(Windows NT 5.0)|(Windows 2000)',
'Windows XP' => '(Windows NT 5.1)|(Windows XP)',
'Windows Server 2003' => '(Windows NT 5.2)',
'Windows Vista' => '(Windows NT 6.0)',
'Windows 7' => '(Windows NT 7.0)',
'Windows NT 4.0' => '(Windows NT 4.0)|(WinNT4.0)|(WinNT)|(Windows NT)',
'Windows ME' => 'Windows ME',
'Open BSD' => 'OpenBSD',
'Sun OS' => 'SunOS',
'Linux' => '(Linux)|(X11)',
'Mac OS' => '(Mac_PowerPC)|(Macintosh)',
'QNX' => 'QNX',
'BeOS' => 'BeOS',
'OS/2' => 'OS/2',
'Search Bot'=>'(nuhk)|(Googlebot)|(Yammybot)|(Openbot)|(Slurp)|(MSNBot)|(Ask Jeeves/Teoma)|(ia_archiver)'
);
// Loop through the array of user agents and matching operating systems
foreach($OSList as $CurrOS=>$Match)
{
// Find a match
if (eregi($Match, $_SERVER['HTTP_USER_AGENT']))
{
// We found the correct match
break;
}
}
// You are using ...
echo "You are using ".$CurrOS;
?>
17
ответ дан 30 November 2019 в 06:01
поделиться

Я не думаю, что Вы будете в состоянии дифференцировать различные версии Vista, но необходимо быть в состоянии получить ОС от навигатор свойство платформы объекта. Необходимо будет, вероятно, проанализировать его, тем не менее, или дифференцироваться на основе, он - содержание.

<script type="text/javascript">
   alert( navigator.platform );
</script>

Видят www.w3schools.com учебные руководства для пример показ, как получить свойства всего навигатора.

РЕДАКТИРОВАНИЕ :

Для получения точной версии можно быть в состоянии разработать элемент управления ActiveX (только Windows) или Апплет Java и использовать java.lang. Системный объект для просмотра свойств существующей системы. Можно быть в состоянии получить достаточно информации от браузера для систем не-Windows и использовать управление только для систем Windows. Я не попробовал это, таким образом, необходимо было бы экспериментировать, чтобы видеть, будет ли это работать. Я должен полагать, что элемент управления ActiveX Microsoft для Microsoft Update в состоянии обнаружить точную версию системы и установленное программное обеспечение для нее для работы.

1
ответ дан 30 November 2019 в 06:01
поделиться

Необходимо действительно постараться не делать что-то как этот, если это не абсолютно необходимо для функциональности веб-приложения.

знать, что:

Не все запросы могут прибыть из клиентской работы окон.

Не все запросы могут прибыть от клиента, который поддерживает JavaScript.

заголовок агента пользователя не может присутствовать в запросе.

то, Что находится в заголовке агента пользователя, может вводить в заблуждение.

А хорошо разработал веб-приложение, должен обеспечить полное содержание и функциональность независимо от того, что находится в заголовке агента пользователя запроса или если поддержки клиентов JavaScript или любое другое клиентское расширение.

1
ответ дан 30 November 2019 в 06:01
поделиться

Поскольку другие уже сказали, нет, не надежно.

, Который является причиной, что, например, jQuery переключился на возможности браузера система (из-за отсутствия лучшего слова) вместо осуществляющей сниффинг браузера системы для itВґs технических возможностей.

1
ответ дан 30 November 2019 в 06:01
поделиться
Другие вопросы по тегам:

Похожие вопросы: