การตรวจสอบ Java Plug-in ของบราวเซอร์ |
ตรวจด้วย JavaScriptสำหรับ NetscapeNetscape Navigator มี navigator.plugins และ navigator.mimeTypes อยู่ ซึ่งเป็นออบเจ็คสำหรับตรวจสอบ ดังฟังก์ชันต่อไปนี้
function pluginEnabled (mimeType) {
var mo = navigator.mimeTypes[mimeType];
return mo && mo.enabledPlugin ? true : false;
}
ตัวอย่าง:
alert(pluginEnabled('application/x-shockwave-flash'))
alert(pluginEnabled('video/quicktime'))
alert(pluginEnabled('audio/basic'))
Mime types ที่ส่งให้เป็น arguments สามารถดูได้จากเมนู about/plugins ใน Netscape สำหรับ java mime type คือ 'application/x-java-applet' ถ้าหากต้องการทราบรายละเอียดของ plugin อันนั้น สามารถทำได้ดังตัวอย่างต่อไปนี้
var appletMimeType = navigator.mimeTypes['application/x-java-applet'];
if (appletMimeType.enabledPlugin)
alert(appletMimeType.enabledPlugin.description);
ซึ่งจะแสดงผลออกมา เช่น Java Plug-in 1.2.2
สำหรับ Netscape ที่มี JDK/JRE 1.2.2 ติดตั้งอยู่ ซึ่งเราจะสามารถดึงเอาเฉพาะหมายเลขเวอร์ชันออกมาได้โดยฟังก์ชันต่อไปนี้
function JREVersion () {
var appletMimeType = navigator.mimeTypes['application/x-java-applet'];
if (!appletMimeType || !appletMimeType.enabledPlugin)
return null;
var re = /JRE (\d\.\d(\.\d))/
var match = re.exec(appletMimeType.enabledPlugin.description);
if (!match)
return null
else {
var jreVersion = match[1];
return jreVersion;
}
}
ตัวอย่าง:
alert(JREVersion())
หมายเหตุ: ฟังก์ชันนี้ใช้ไม่ได้กับ IE เพราะ IE ไม่มี array navigator.mimeTypes สำหรับการตรวจสอบว่ามี plugin ใดๆติดตั้งอยู่หรือไม่ใน Netscape ให้ใช้ฟังก์ชันต่อไปนี้
function pluginInstalled (pluginName) {
for (var p = 0; p < navigator.plugins.length; p++)
if (navigator.plugins[p].name.toLowerCase() ==
pluginName.toLowerCase())
return true;
return false;
}
ตัวอย่าง (ชื่อ plugin สามารถดูได้จากเมนู about/plugins):
alert(pluginInstalled('quicktime plug-in'))
alert(pluginInstalled('shockwave flash'))
ฟังก์ชันนี้จะรีเทิร์น false ใน IE เพราะไม่มี navigator.plugins สำหรับ Internet Explorerจะสามารถตรวจสอบได้ด้วยคำสั่งต่อไปนี้
var plugin = new ActiveXObject('Program.Id');
Program.Id คือชื่อของโปรแกรม ถ้า plugin มีค่าแสดงว่ามี plug-in อยู่ ยกตัวอย่างเช่น โปรแกรม Shockwave Flash จะตรวจสอบได้ดังนี้
var swf = new ActiveXObject('ShockwaveFlash.ShockwaveFlash');
if (swf)
alert('Shockwave available');
else
alert('Shockwave unavailable');
|
since September
2002 Copyright © 2002-2004 Somchai LIMSIRORATANA. All rights reserved. |