Details in English, here.
ตอนนี้พอใจดีทุกอย่างกับ Firefox
ติดแค่อย่างเดียว คือเรื่องตัดคำข้อความภาษาไทยที่มันทำไม่ได้
ทำให้เวลาอ่านหน้าเว็บบางหน้า ที่เค้่าเขียนข้อความยาวติดกันเป็นพืด จะอ่านลำบาก
เพราะต้องเลื่อนซ้ายทีขวาที และไม่สวยด้วย
ถึงแม้จะมี ICU patch สำหรับ Firefox ให้มันตัดคำไทยได้แล้ว
แต่ก็คงยุ่งยากไปสำหรับผู้ใช้ทั่วไป (จริงๆ ถ้าอยากลอง ก็ไม่ยากนะ ทำตามสเต็ปดูได้)
คนใช้ Linux TLE โชคดีหน่อย
Firefox/Thunderbird/Mozilla ที่จะมากับ Linux TLE ตัวหน้า จะแพตช์มาเรียบร้อยแล้ว
อย่างไรก็ตาม ทั้งหมดนั้นยังสำหรับ Linux เท่านั้น, Windows อด
เห็นว่า bookmarklet น่าจะเป็นวิธีนึงที่ใช้(แก้ขัด)ได้
เพราะว่ามันน่าจะใช้ได้ทุกแพลตฟอร์ม/เบราเซอร์ (เป็น JavaScript) ไม่ต้องแพตช์ ไม่ต้องคอมไพล์
น่าจะโอเคสำหรับผู้ใช้ทั่วๆ ไป เลยลองทำดู
เท่าที่ใช้ดู ก็โอเค พออ่านได้ ไม่ต้องเลื่อนซ้ายขวามากนัก
แต่มันไม่อัตโนมัตินะ ต้องกดปุ่ม bookmarklet เพื่อสั่งให้มัน wrap เอาเอง
โค้ดก็ไม่มีอะไรมาก ก็แค่แทรก <WBR> ไปตามจุดที่เห็นว่าน่าจะแบ่งพยางค์ได้แค่นั้นแหละ
ใช้ JavaScript แทรกโค้ดผ่าน DOM
เป็น regexp + รายการคำประมาณสิบกว่าคำที่มักจะพบกลางประโยค (เช่น "เป็น|อยู่|ก็|ที่|จะ")
Note: ไม่ได้แทรกทุกๆ จุดแบ่งจริงๆ แค่บางจุดที่พอจะหาได้เท่านั้น
แค่ให้มันตัดประโยคยาวๆ ลงได้บ้างก็พอ จะได้อ่านเว็บง่ายหน่อย
รายละเีอียด ลองดูตามลิงก์ + ในโค้ดเอาละกัน
โค้ดยังช้าอยู่ และยังใช้กับหน้าที่อยู่ใน frame ไม่ได้
ทดสอบ + อ่านรายละเอียดที่เหลือ (ภาษาอังกฤษ)
ถ้าใครอยากเอาไปทำอะไรต่อ (เช่นให้มันเร็วขึ้น หรือว่าใช้กับ frame ได้) ก็ตามสบายเลยครับ
Update: แก้โค้ดใหม่ ปรับ regexp ตัวที่ 3 กับ 4 นิดหน่อย
Update: ใช้กับเฟรมได้แล้ว (แต่ถ้าเฟรมซ้อนๆ กันนี่ไม่น่าจะได้นะ)
9 comments:
ชอบมากๆ :)
ทำเป็น extension ให้รันเองนี่จะเป็นไปได้รึเปล่า?
ไม่งั้นเราอาจจะลองดึง javascript ออกมาแล้วเรียกใช้ด้วย body onload="" คนดูจะได้เห็นทุกคน มันทำได้มั๊ยอ่ะ?
chris
ใช้เป็น onload ก็น่าจะได้นะ
เรื่องทำ extension นี่ทำไม่เป็น :P
T_T ใช้กับ Opera ไม่ได้
Oakyman
มันว่ายังไงบ้างครับ?
ไม่ว่ายังไงเลยครับ
เหมือนไม่มีอะไรเกิดขึ้น
อ้อๆ เพิ่งเปิด JavaScript Console มาดูครับ
นี่ครับ (ยาวหน่อยนะครับ)
Javascript URL thread: "javascript:thaiWrap();"
Error:
name: SyntaxError
message: Statement on line 44: RegExp.prototype.compile: syntax error in pattern or string
Backtrace:
Line 44 of inline#1 script in http://siit.net/members/art/thaiwrap.html
r[6] = RegExp("([\u0e30\u0e32-\u0e3a])(?=.([\u0e30-\u0e3a\x00e47\u0e4e]))");
Line 1 of unknown script
thaiWrap();
ขอบคุณครับ เดี๋ยวจะลองดู :)
ผมเอาลองเอาโค้ดไปใช้ในบล็อก, ทำเป็นลิงค์ไว้ครับ. ขอบคุณครับ.
เอาเลยครับ / ขอบคุณครับ
มีคนเอาไปทำเป็น User JavaScript ของ Opera แล้วนะครับ
ตามลิงก์ที่
ThaiWrap bookmarklet
รอคนเอาไปทำเป็น greasemonkey อยู่ :P
Post a Comment