Make your own free website on Tripod.com
Click here to visit our sponsor
Free Advertising from Click2Net!

บทเรียนที่ 5 ตรวจสอบประเภทและรุ่นของ บราวเซอร์



เนื่องจาก browser แต่ละยี่ห้อมีความสามารถไม่เหมือนกัน หรือยี่ห้อเดียวกันแต่ต่างรุ่นความสามารถก็ต่างกัน
ผู้พัฒนาเว็บไซต์จึงต้องมีวิธีตรวจสอบยี่ห้อและรุ่น เพื่อที่จะส่งหน้าที่เหมาะสมไปให้ผู้ใช้ browser ต่างๆกันนั้น
เช่น Netscape ไม่สามารถใช้ ActiveX ได้ แต่ IE ใช้ได้ ดังนั้นเมื่อมีใครเข้ามาในเว็บไซต์ของเรา จึงต้องกำหนด
หน้าที่เหมาะสมให้กับ Netscape (หน้าที่ไม่มี ActiveX) และส่งหน้าธรรมดาหรือหน้าที่มี ActiveX ให้กับ IE
เป็นต้น ต่อไปนี้เป็นตัวอย่างการเรียกใช้และตรวจสอบ

[ /asp/browsercap.asp ]


<%
' เปิดเครื่องมือช่วยในการตรวจสอบ browser (เรียกใช้ ASP component) จะต้องเปิดแบบนี้ทุกครั้งถ้าต้องการใช้
' แต่อาจจะเปลี่ยน คำว่า bc ให้เป็นตัวแปรอื่นๆได้ แต่ถ้าเปลี่ยนแล้วส่วนอื่นๆที่เกี่ยวข้องจะต้องเปลี่ยนไปด้วย
Set bc = Server.CreateObject("MSWC.BrowserType")
'ตั้งตัวแปร brname ให้แทนยี่ห้อของ browser ผลที่ออกมาจะเป็น unknown, Netscape , IE เป็นต้น
brname=bc.browser
'ตั้งตัวแปร brver ให้แทน version ของ browser ผลที่ออกมาจะเป็นตัวเลขเช่น 1 2 3 4 5
brver= CINT(bc.version)
'ตัวแปรต่อไปนี้แสดงความสามารถของ browser ถ้ามีค่าเท่ากับ 1 แสดงว่าสามารถใช้ได้ แต่ถ้าออกมาเป็น 0 แสดงว่าไม่สนับสนุน
'เช่น ถ้า frames = 0 หมายความว่า browser ไม่สามารถใช้ Frame ได้ แต่ถ้าเท่ากับ 1 จะสามารถใช้ Frame ได้เป็นต้น
ActiveX = bc.ActiveXControls
javaapplets = bc.javaapplets
javascript = bc.javascript
vbscript = bc.vbscript
frames = bc.frames
cookies = bc.cookies
backgroundsounds = bc.backgroundsounds
'platform คือระบบปฏิบัติการของผู้ใช้ ค่าที่ส่งออกมาจะเป็น win95 เป็นต้น
platform = bc.platform
' ต่อไปนี้เป็นตัวอย่างการประยุกต์ใช้ โดยมีหลักการคือ เราจะส่งผู้เข้าเว็บไซต์ของเราไปยังหน้าหลักที่เหมาะสมกับ
' browser ที่เขาใช้ โดยใช้ ภาษา vb script select - case เข้ามาช่วย

select case brname
case "IE"
'ถ้าเป็น IE ก็มาเลือก version ต่อแล้วจึงย้าย ผู้เยี่ยมชมเว็บไซต์ไปตาม version ของ browser ที่เขาใช้
select case brver
case "4"
response.redirect("/asp/indexie4.asp")
case "3"
response.redirect("/asp/indexie3.asp")
case else
response.redirect("/asp/indexie.asp")
end select
case "Netscape"
'ในทำนองเดียวกันกับ IE ถ้าเป็น Netscape ก็ย้ายไปตาม version ที่เหมาะสมเช่นกัน
select case brver
case "4"
response.redirect("/asp/indexnet4.asp")
case "3"
response.redirect("/asp/indexnet3.asp")
case else
response.redirect("/asp/indexnet.asp")
end select
'ถ้าไม่ใช่ทั้ง IE หรือ Netscape ก็ย้ายไปที่ไฟล์ index.asp
case else
response.redirect("/asp/index.asp")
end select
%>



[ /asp/activex_check.asp ]


<%
'ตัวอย่างการตรวจสอบเฉพาะสิ่งที่ต้องการแล้ว redirect ไปยังไฟล์ที่กำหนด
Set bc = Server.CreateObject("MSWC.BrowserType")
ActiveX = bc.ActiveXControls
if ActiveX = 1 then
response.redirect("/asp/can_use_activex.asp")
else
response.redirect("/asp/can_not_use_activex.asp")
end if
%>




[ /asp/activex_check2.asp ]


<%
'ตัวอย่างการตรวจสอบเฉพาะ ActiveX แล้วแทรก ActiveX ในไฟล์ หรือไม่แทรกถ้า browser ไม่สามารถใช้ได้
Set bc = Server.CreateObject("MSWC.BrowserType")
ActiveX = bc.ActiveXControls
%>

<html>
<body>
<% if ActiveX = 1 then %>
สามารถใช้ ActiveX ได้ ให้เริ่มแทรก ActiveX Code ได้เลย
<% else %>
ไม่สามารถใช้ ActiveX ได้ ให้ใช้วิธีอื่นในการทำงานแทน ActiveX
<% end if %>
</body>
</html>