การสร้าง popup ที่แตกต่าง ด้วยวิธี showModalDialog
20 August 2010การสร้าง หน้า window ใหม่ หรือ popup window ที่พิเศษ กว่า popup ที่ใช้ฟังก์ชัน window.open ด้วยการใช้วิธีที่เรียกว่า showModalDialog
dialog หรือ popup ทีสร้างจากวิธีแบบ showModalDialog มีประโยชน์สำหรับการที่จะทำให้ผู้ใช้ให้ความสนใจต่อเนื้อหาในหน้าที่แสดง ซึ่งยังสามารถใช้แสดงข้อความที่มีความสำคัญที่ผู้ใช้ควรทำตามคำแนะนำหรือ ได้รับทราบเป็นข้อมูลไว้ ก่อนที่ดำเนินการอื่นๆ ต่อไป
ตัวอย่าง
วิธีสร้าง popup แบบ window.showModalDialog จะมีความคล้ายกับ วิธีการใช้งาน window.open คือการรับค่าชื่อไฟล์ หรือ url ที่ต้องการ แล้วเปิดเป็นหน้าต่างใหม่
ความแตกต่าง
window.showModalDialog จะสร้างหน้าต่างใหม่เสมอ แม้ว่าบราวเซอร์จะกำหนดให้เปิดหน้าต่างใหม่แบบ Tab ส่วน window.open จะขึ้นอยู่กับการตั้งค่าของ บราวเซอร์
และข้อแตกต่างที่สำคัญ คือ ผู้ใช้ต้องทำการปิด popup นั้นลงก่อน จึงจะใช้งานหน้าเว็บที่เปิด popup นั้นขึ้นมาได้ เป็นการโฟกัสผู้ใช้ไปยัง popup นั้นไปในตัว
การวิธีการข้างต้นผู้ใช้ยังสามารถใช้งานหน้าต่างอื่น หรือโปรแกรมอื่นได้ตามปกติ
ตัวอย่างโค้ด (ทดสอบทำงานได้ดีใน IE และ Firefox ส่วนบราวเซอร์อื่น ทำงานคล้าย window.open)
<button onclick="popupModal('sample_data.php',500,200);">Sample Popup</button>
<script type="text/javascript">
function popupModal(url,width,height){
var myDate=new Date();
var setUniqe=myDate.getTime(); // ใช้สำหรับ ป้องกันการ cache กรณีกำลังทดสอบ
var diaxFeature="dialogWidth:"+width+"px;"
+"dialogHeight:"+height+"px;"
/* +"dialogLeft:"+width+"px;"
+"dialogTop:"+width+"px;" */
+"center:yes;"
+"edge:raised;" // sunken | raised
+"resizable:no;"
+"status:no;"
+"scroll:no;";
window.showModalDialog(url+"?"+setUniqe,"", diaxFeature);
// กรณีไม่ใช้ setUniqe
// window.showModalDialog(url,"", diaxFeature);
}
</script>
บทความคนเข้าอ่านวันนี้
20 Jul 10 CakePHP เริ่มต้นกับ mod rewrite ของ Apache อ่าน 1472 06 Nov 10 แนะนำ jQuery UI Effect แบบ ไม่ต้องใช้งานร่วมกับ event show hide และ toggle อ่าน 2576 02 Oct 10 สร้าง animation แนะนำเส้นทาง ใน google map อย่างง่าย อ่าน 2448 11 Dec 09 ทบทวน การเรียกใช้งาน events ใน javascript ที่ใช้ได้สำหรับ ทุก browsers อ่าน 2230 25 Sep 08 การกำหนดความกว้างความสูงของ element ด้วยฟังก์ชันของ jQuery อ่าน 2453 18 Oct 08 สร้างเมนูแนวตั้ง ด้วย CSS ไม่ต้องใช้ตารางอย่างง่าย อ่าน 3992 25 Sep 08 Functions ลบไฟล์ อ่าน 2396 17 Feb 09 การแปลงค่าตัวเลข ให้อยู่ในรูปแบบจำนวนเงิน มี comma ด้วย javascript อ่าน 2938 19 Feb 09 สร้างกล่อง alert ข้อความเฉพาะตัว ด้วย jQuery และ CSS อย่างง่าย อ่าน 4538 08 Oct 08 การกำหนด class มากกว่าหนึ่ง อ่าน 2477 12 Sep 10 การดึง attribute และค่าต่างๆ จาก xml ไฟล์ด้วย jQuery อย่างง่าย อ่าน 2424 26 Oct 08 แสดง popup window ตรงกลาง อ่าน 10183 03 Feb 11 การใช้งาน character classes ใน Regular Expressions ของ PHP อ่าน 1269 21 Sep 10 ทบทวน การจัดการกับ ตัวแปร array ใน javascript ด้วย ฟังก์ชัน ตอนที่ 1 อ่าน 1412 18 Aug 09 สร้าง ฟังก์ชั่น บันทึกหน้าเพจไว้ใน Favorites และ Bookmarks ด้วย javascript อ่าน 1677 25 Sep 08 สร้างฟังก์ชันในการหาจำนวนวัน ชั่วโมง นาที และวินาทีที่ผ่านมาแล้ว อ่าน 1989 02 Mar 10 ประยุกต์ แปลเนื้อหา ในเว็บไซต์ด้วย google translater api สำหรับ php อ่าน 1160 27 Aug 10 เทคนิค jQuery สร้าง preloading page หรือ loading image ก่อนแสดงหน้าเว็บ อ่าน 4681 12 Sep 10 จัดรูปแบบ NavigationControlOptions ใน Google Map อ่าน 1627 22 Oct 08 คำสั่ง SQL HAVING อ่าน 5295
