2013-03-12 3 views
0

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

Я использую WordPress для сайта, но не смог найти плагин, источник PHP или Javascript, который позволит обнаружить все эти вещи. Веб-сайт может использовать ASP, но я решил, что это должно быть обнаружено и через PHP, правильно?

+0

Вопрос слишком широк. Это как восемь вопросов в одном: версия браузера, компьютерная платформа, Adobe Reader, Adobe Flash Player, поддержка файлов cookie, поддержка сценариев, скорость соединения, текущая дата/время. [BrowserHawk] (http://www.cyscape.com/showbrow.aspx?bhcp=1) - это инструмент, который делает многое с точки зрения возможностей тестирования. –

+0

Здравствуйте, спасибо за ваш ответ. Я посмотрел в Browserhawk, но это довольно дорого для облачного сервиса, но приятно знать, что это можно сделать. – user2162262

ответ

1

ОС может быть обнаружена с помощью User-Agent, просмотрев $_SERVER['HTTP_USER_AGENT']. Браузер также входит в User-Agent. Adobe Reader не может быть прочитан с помощью php, но с JavaScript в объекте navigator.plugins. Полоса пропускания не просто обнаружить.

О User Agent мой currient один это здесь:

Mozilla/5.0 (Windows NT 6.1; WOW64; с.в.: 19,0) Gecko/20100101 Firefox/19,0

Это означает, что я используйте Firefox в версии 19.0 на Windows 7 x64.

Для определения фактической Adobe Reader версии цикла thrue плагинов и искать имя (свойство) Adobe Acrobat в моем случае navigator.plugins[2].version возвращается 10.1.6.1.

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

0

http://thecodeabode.blogspot.ca/2011/01/detect-adobe-reader-plugin.html

То же, что выше ответ в основном, с помощью navigator.plugins вы можете обнаружить вещи, как Adobe Reader. Однако для обнаружения полосы пропускания вам необходимо создать временный скрипт для регистрации того, сколько времени требуется для получения файла. Например, http://api.jquery.com/jQuery.ajax/ Вы можете загрузить изображение через javascript или создать файл изображения, выводимый PHP.

<?php 
$time = microtime(); 
$time = explode(' ', $time); 
$time = $time[1] + $time[0]; 
$start = $time; 
$file = '../image.jpg'; 
$type = 'image/jpeg'; 
$ts = gmdate("D, d M Y H:i:s") . " GMT"; 
header("Expires: $ts"); 
header("Last-Modified: $ts"); 
header("Pragma: no-cache"); 
header("Cache-Control: no-cache, must-revalidate"); 
header('Content-Type:'.$type); 
header('Content-Length: ' . filesize($file)); 
readfile($file); 
$time = microtime(); 
$time = explode(' ', $time); 
$time = $time[1] + $time[0]; 
$finish = $time; 
$total_time = round(($finish - $start), 4); 
?> 

Это займет время, затрачиваемое сервером/клиентом на загрузку выводимого изображения. После $ total_time вы можете поместить в базу данных, такую ​​как mysql, сколько времени потребовалось для загрузки имита 6 МБ. Затем вы разделите РАЗМЕР на ВРЕМЯ. Так что, если бы потребовалось 2 секунды, они сказали бы о подключении 3 Мбит/с. Добавление на:

8 Bits = 1 Byte 
1024 Bytes = 1 KiloByte 
1024 KiloBytes = 1 MegaByte 
1024 MegaBytes = 1 GigaByte 
1024 GigaBytes = 1 TeraByte 

Так, если предположим, что пользователь загружает 1MB в 1 секунду, попробуйте 2Мб, и так далее. Но если это займет больше времени. Скажите 14 секунд для загрузки 1MB Divide 1/14

0.125MB = 1 megabit 
6/0.125/1 = 48 Mbit(Mbps) 
1/0.125/14 = 0.57Mbit 
Смежные вопросы