|
|
|
ไม่อยากให้ผู้เยี่ยมชมเวปเรา ใช้เมนูจากการคลิกเม้าส์ขวาได้ จะทำยังไง?
|
แล้วเราจะทำไปทำไม??
พูดถึงเหตุผล.. เหตุผลก็คงจะหลากหลายแตกต่างกันไปหลายๆอย่างนะครับ
บางคนอาจจะไม่อยากให้ เค้าคลิกขวาที่ภาพในโฮมเพจเรา แล้วเลือก Save Picture As..
เก็บภาพจากเพจเราไป หรืออยากให้เมื่อเค้าคลิกขวาแล้วมีข้อความที่ต้องการเกิดขึ้น
หรืออยากจะปรับเปลี่ยนให้เพจดูแปลกตาออกไป มีการโต้ตอบกับผู้ใช้ที่กดคลิกขวา
ฯลฯ เหตุผลคงจะแตกต่างกันไปนะครับ
แล้วมันทำได้ยังไงหละ ??
เราจะอาศัยความสามารถของ JavaScript มาใช้ในการทำงานนี้กันนะครับ โดยใช้ code
ต่อไปนี้นะครับ แทรกไว้ในเวปเพจของคุณตรงระหว่าง <head>... ถึง </head>
นะครับ
lt;script language="JavaScript1.1">
<!-- Begin
function right(e) {
if (navigator.appName == 'Netscape' &&
(e.which == 2 || e.which == 3)) {
alert('Right click activated');
return false;
}
else if (navigator.appName == 'Microsoft Internet Explorer' &&
(event.button==2 || event.button == 3)) {
alert('Right click activated');
return false;
}
return true;
}
document.onmousedown=right;
if (document.layers) window.captureEvents(Event.MOUSEDOWN);
window.onmousedown=right;
// End -->
</script>
Script นี้จะกำหนดให้ไปเรียกใช้ function ชื่อ right เมื่อเกิด Event คลิกขวาขึ้นใน Browser
หลังจากนั้น ใน function right ก็จะทำการตรวจสอบ Browser ว่าเป็น Netscape หรือ IE
แล้วจะทำการตรวจสอบ event ที่ได้มา เนื่องจาก Browser สองรายนี้ มีรายละเอียดในการส่งผ่าน
ค่า event ให้กับ Script ต่างกัน (Netscape ส่งผ่าน event โดยผ่าน object e ในขณะที่
IE ส่งผ่านโดยใช้ object event) จึงต้องมีการทำงานโดยแยกกันไปตาม Browser หลังจากนั้น
จึงเรียกใช้ function alert เพื่อสร้าง Popup dialog พร้อมกับข้อความว่า Right click activated
ซึ่งตรงนี้เราก็ นำไปประยุกต์ใช้เป็นอย่างอื่นได้ตามใจชอบ
นำวิธีนี้ไปใช้ป้องกันการขโมยรูป หรือ view source ของเวปเพจของเราได้มั๊ย ??
ในเบื้องต้นก็คงตอบว่า "ได้" ครับผม สำหรับ visitor โดยทั่วไปนะครับ
แต่ถ้าจะเอาแบบหวังผลเลยจริงๆ ก็คงไม่ได้ผลนักครับผม เนื่องจากเค้ายังสามารถใช้ menu
ของ browser ในการ view source แล้วดู page source รวมทั้ง url ของรูปภาพได้
อยู่..
กลับเนื้อหาหลัก.. ->
|
|
|