2013-03-12 91 views
0

基本上,我試圖爲一些在線程序創建兼容性測試,並且我希望用戶能夠看到它們是否與我已有的系統兼容像它被發現here檢測操作系統,瀏覽器,Adobe Reader,帶寬等

我使用的WordPress的網站,但無法找到一個插件,PHP或JavaScript的來源,將允許所有這些東西被檢測到。該網站可能使用ASP,但我認爲這應該可以通過PHP檢測到,對嗎?

+0

問題太廣泛。這就像八個問題合爲一體:瀏覽器版本,計算機平臺,Adobe Reader,Adobe Flash Player,Cookies支持,腳本支持,連接速度,當前日期/時間。 [BrowserHawk](http://www.cyscape.com/showbrow.aspx?bhcp=1)是一個在測試功能方面做了很多工作的工具 – 2013-03-12 18:42:59

+0

您好,非常感謝您的回覆。我查看了Browserhawk,但它對於雲服務來說相當昂貴,但很高興知道它可以完成。 – user2162262 2013-03-12 23:03:44

回答

1

通過查看$_SERVER['HTTP_USER_AGENT'],可以使用User-Agent檢測操作系統。瀏覽器也進入User-Agent。 Adobe Reader不能與php搭配使用,但在navigator.plugins對象中使用JavaScript。帶寬不易檢測。

關於用戶代理我currient一個是這樣的位置:

的Mozilla/5.0(Windows NT的6.1; WOW64; RV:19.0)的Gecko/20100101火狐/ 19.0

這意味着我在Windows 7 x64上使用版本19.0中的Firefox。

爲了檢測實際的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)中,以便它們加載6MB圖片需要多長時間。然後,您將尺寸除以TIME。所以如果花了2秒鐘,他們會說3Mbps的連接。 添加上:

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

所以,如果說用戶負載1MB在1秒內,儘量2MB,等等。 但是,如果需要更長的時間。說14秒下載1MB分割1/14

0.125MB = 1 megabit 
6/0.125/1 = 48 Mbit(Mbps) 
1/0.125/14 = 0.57Mbit 
相關問題