วิกิพีเดีย:สคริปต์ผู้ใช้/สคริปต์/บังคับลาพักร้อนจากวิกิพีเดีย
การทำงาน
แก้- ป้องกันมิให้ผู้ใช้ล็อกอินก่อนวันที่กำหนดไว้ เพื่อบังคับให้การลาพักร้อนจากวิกิพีเดียเคร่งครัดมากยิ่งขึ้นโดยอัตโนมัติ
- หากผู้ใช้ล็อกอิน จะล็อกเอาต์โดยอัตโนมัติ
- ผู้ใช้ยังคงสามารถอ่านหรือแก้ไขวิกิพีเดียโดยไม่ล็อกอินได้อยู่
การใช้งาน
แก้- คัดลอกโค้ดส่วนนี้ไปที่ไฟล์จาวาสคริปต์ของผู้ใช้ หรือที่ไฟล์สกินใด ๆ ต่อไปนี้ (common.js, vector.js, timeless.js, modern.js, monobook.js, minerva.js) หากต้องการให้มีผลเฉพาะสกินที่เลือกหรือลดความเคร่งครัดให้น้อยลง
- ตั้งค่าวันและเวลาที่คุณจะเลิกพักร้อน เช่น หากจะพักร้อนถึงวันที่ 14 มีนาคม พ.ศ. 2556 (หรือ ค.ศ. 2013) เวลา 01:02:03 ก็ให้เขียนว่า
var date = { year: 2556, month: 3, day: 14};
var time = { hours: 1, minutes: 2, seconds: 3};
จากนั้น ให้บันทึกหน้าดังกล่าว และรีเฟรชหน้า (Mozilla: กด Reload (หรือ Ctrl-R), IE/Opera: Ctrl-F5, Safari: Cmd-R, Konqueror Ctrl-R) เป็นอันเสร็จพิธี ขอให้สนุกกับวันพักผ่อนจากวิกิพีเดียครับ!
ข้อควรระวัง
แก้- ระวังอย่าตั้งค่าวันที่ผิดพลาด เพราะคุณจะไม่สามารถล็อกอินเข้ามาแก้ไขได้อีกจนกว่าจะหมดเวลา
- ค่าวันที่ใช้พุทธศักราช
- เวลาใช้ระบบ 24 ชั่วโมง อย่างไรก็ดี หากเวลาในแต่ละหน่วยเป็นเลขหลักหน่วยหลักเดียว ห้ามใส่เลข 0 นำหน้า
- หากเกิดข้อผิดพลาดขึ้นหรือต้องการกลับมาก่อนกำหนด เลือกหนึ่งในวิธีต่อไปนี้
- ปิดจาวาสคริปต์
- หากสคริปต์ไม่ได้ทำงานในไฟล์จาวาสคริปต์ของผู้ใช้ ให้เปิดลิงก์ "https://th.wikipedia.org/wiki/พิเศษ:การตั้งค่า?useskin=__สกิน__#mw-prefsection-rendering" โดยแทน "__สกิน__" ด้วยชื่อสกินของวิกิพีเดียที่สคริปต์ไม่ได้ทำงาน แล้วเปลี่ยนสกินเป็นอย่างอื่น
- อีกทางหนึ่ง สามารถแก้ไขไฟล์จาวาสคริปต์ผู้ใช้ของคุณในโหมดดีบั๊กได้ (ปิดการใช้จาวาสคริปต์ทั้งหมดจากของผู้ใช้ แต่ยังเปิดของระบบ) โดยเพิ่ม
?debug=1
ต่อท้ายยูอาร์แอล (หรือหากมี?
ในยูอาร์แอลอยู่แล้ว ใช้&
แทน)- ลิงก์แก้ไขในโหมดดีบั๊ก: common.js, vector.js, timeless.js, modern.js, monobook.js, minerva.js
- ในกรณีที่ไม่สามารถแก้ปัญหาได้ ให้แจ้งผู้ดูแลระบบให้ยกเลิกการบังคับลาพักร้อนได้
สคริปต์
แก้/*** BEGIN WIKIBREAK ENFORCER ***/
$(document).ready(function() {
/***
อ่านคำชี้แจงที่ [[วิกิพีเดีย:สคริปต์ผู้ใช้/สคริปต์/บังคับลาพักร้อนจากวิกิพีเดีย]]
Warning: We use Buddhist Era instead of Christian Era here.
You can convert these two eras by following formula; BE = CE + 543.
***/
/*** Start editing here ***/
// When you want to end your break?
// no leading zeroes. (example: 9 - correct, 09 - incorrect)
var date = { year: ..., month: ..., day: ...};
var time = { hours: ..., minutes: ..., seconds: ... };
/*** Stop editing here ***/
date.year -= 543;
var currentDate = new Date();
var enforcedBreakEnd = new Date(
date.year,date.month-1,date.day,time.hours,time.minutes,time.seconds);
if (currentDate <= enforcedBreakEnd) {
alert("Enforced wikibreak until "+enforcedBreakEnd.toLocaleString()
+ "\n(now is "+currentDate.toLocaleString()+")\n\nBye!");
location = "//"+location.host+"/w/index.php?title="
+ "Special:Userlogout&returnto=Main_Page";
}
});
/*** END WIKIBREAK ENFORCER ***/