การตรวจสอบ Java Plug-in ของบราวเซอร์

ตรวจด้วย JavaScript

สำหรับ Netscape

Netscape 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
Web Counter by http://www.digits.com
Last updated : Thursday, 4 December, 2003 14:07

Copyright © 2002-2004 Somchai LIMSIRORATANA. All rights reserved.