Showing posts with label Javascript Library. Show all posts
Showing posts with label Javascript Library. Show all posts

Thursday, 22 November 2012

tablesorter - Flexible client side Table Sorting

สำหรับบทความนี้ผมอยากจะมาแนะนำเกี่ยวกับ jQuery Plugin ตัวนึงที่มีชื่อว่า tablesorter ซึ่งมีหน้าที่ในการปรับปรุงความสามารถของ Table ให้สามารถ Sort ได้ โดยเขียน Code แค่ไม่กี่บรรทัด ตาม Style ของ jQuery เดี๋ยวลองมาดูตัวอย่างการใช้งานกันนะครับ

เริ่มต้นด้วยการเรียกใช้งาน jQuery กับ tablesorter กันก่อน

<script type="text/javascript" src="/path/to/jquery-latest.js"></script>
<script type="text/javascript" src="/path/to/jquery.tablesorter.js"></script>

ส่วน HTML tag สำหรับ Table ของเรา ก็หน้าตาประมาณนี้ครับ

<table id="myTable" class="tablesorter">
<thead>
<tr>
    <th>Last Name</th>
    <th>First Name</th>
    <th>Email</th>
    <th>Due</th>
    <th>Web Site</th>
</tr>
</thead>
<tbody>
<tr>
    <td>Smith</td>
    <td>John</td>
    <td>jsmith@gmail.com</td>
    <td>$50.00</td>
    <td>http://www.jsmith.com</td>
</tr>
<tr>
    <td>Bach</td>
    <td>Frank</td>
    <td>fbach@yahoo.com</td>
    <td>$50.00</td>
    <td>http://www.frank.com</td>
</tr>
<tr>
    <td>Doe</td>
    <td>Jason</td>
    <td>jdoe@hotmail.com</td>
    <td>$100.00</td>
    <td>http://www.jdoe.com</td>
</tr>
<tr>
    <td>Conway</td>
    <td>Tim</td>
    <td>tconway@earthlink.net</td>
    <td>$50.00</td>
    <td>http://www.timconway.com</td>
</tr>
</tbody>
</table>

คราวนี้มาถึงส่วนสำคัญ คือ การเรียกใช้งาน tablesorter สามารถเรียกใช้งานได้ดังนี้ครับ

$(document).ready(function() 
    { 
        $("#myTable").tablesorter(); 
    } 
); 
      
ในกรณีที่ต้องการตั้งค่าการ Sorting ไว้ล่วงหน้า ก็สามารถทำได้ โดยกำหด options เพิ่มเติมดังนี้

$(document).ready(function() 
    { 
        $("#myTable").tablesorter( {sortList: [[0,0], [1,0]]} ); 
    } 
); 

คราวนี้เมื่อ Table แสดงผล ข้อมูลก็จะถูกเรียงลำดับไว้เรียบร้อย โดยใน Code ที่แสดงให้ดู กำหนดไว้ว่า ให้เรียงลำดับข้อมูลใน columns ที่ 0 และ 1 โดยเรียงในแบบ ascending ครับ

สำหรับผู้ที่สนใจ สามารถศึกษาเพิ่มเติมได้ที่ http://tablesorter.com

moment.js - javascript date library for parsing, validating, manipulating, and formatting dates

moment.js คือ JavaScript สำหรับช่วยในการทำงานเกี่ยวกับวันที่และเวลา มีขนาดเพียง 3.5kb ลองดูตัวอย่างการใช้งานเบื้องต้นดังนี้ครับ

moment().format('MMMM Do YYYY, h:mm:ss a');
moment().format('dddd');
moment().format("MMM Do YY");
moment().format('YYYY [escaped] YYYY');
moment().format();

นอกจากนี้ยังรองรับการแสดงผลวันที่และเวลาเป็นภาษาต่างๆ (แต่ลองดูตัวอย่างจากในหน้าเว็บ ยังไม่เห็นภาษาไทยครับ) สำหรับผู้ที่สนใจ สามารถศึกษาข้อมูลเพิ่มเติมได้ที่ http://momentjs.com/

Saturday, 10 November 2012

ทำความรู้จักกับ WebFont Loader

WebFont Loader ช่วยให้เราสามารถเรียกใช้งาน Web Font Provider ต่างๆ ไม่ว่าจะเป็น Google, Typekit, Fonts.com หรือแม้กระทั่ง font ที่เรา host เอง ผ่าน interface แบบเดียวกัน ทำให้เราสามารถ เปลี่ยน Provider ได้ง่าย นอกจากนั้น ยังมี Event ต่างๆให้เราใช้งาน ยกตตัวอย่างเช่น "Active" จะ Trigger เมื่อ Web Font พร้อมใช้งาน ซึ่งมีประโยชน์อย่างมากในตอนที่เรานำ Web Font ไปใช้กับ canvas ซึ่งถ้าหากเราเรียกใช้งาน Web Font ในขณะที่ยัง load ไม่เสร็จ การแสดงผลก็จะไม่เป็นอย่างที่เราต้องการ และในอีกกรณีคือ ใช้เพื่อแก้ปัญหา "flash of unstyled text" (FOUT)

ตัวอย่างการเรียกใช้งาน WebFont Loader เพื่อ Load WebFont ที่ Hosting เอง

    <script type="text/javascript">
      WebFontConfig = {
        custom: { families: ['iannvcd'],urls: ['fonts/iannvcd/stylesheet.css']},
        active: function(){},
        inactive: function(){}
      };
      (function() {
        var wf = document.createElement('script');
        wf.src = ('https:' == document.location.protocol ? 'https' : 'http') +
            '://ajax.googleapis.com/ajax/libs/webfont/1/webfont.js';
        wf.type = 'text/javascript';
        wf.async = 'true';
        var s = document.getElementsByTagName('script')[0];
        s.parentNode.insertBefore(wf, s);
      })();
    </script>

สำหรับผู้ที่สนใจ สามารถศึกษาเพิ่มเติมได้ที่ https://github.com/typekit/webfontloader

แหล่งที่มา : https://github.com/typekit/webfontloader

เทคนิคการทำให้ IE8 ใช้งาน HTML5 Canvas 2D ได้

สำหรับ Browser ใหม่ๆอย่างเช่น Firefox, Safari, Chrome และ Opera ต่างรองรับการใช้งาน HTML5 canvas  2D context อยู่แล้ว แต่ปัญหาอยู่ที่ IE8 ซึ่งยังไม่รองรับการใช้งาน ซึ่งเราสามารถทำให้ IE8 รองรับการใช้งาน canvas ได้ โดยใช้ ExplorerCanvas ซึ่งวิธีการใช้งานก็เพียงแค่ include script ดังต่อไปนี้เข้าไปบริเวณส่วนหัวของ page

<head>
<!--[if IE]><script src="excanvas.js"></script><![endif]-->
</head>

แต่วิธีนี้ก็มีปัญหาอยู่นิดนึง คือ ในกรณีที่เราสร้าง canvas ขึ้นมาเองในขณะ runtime (คือ ไม่ได้เขียน canvas tag ไว้ใน HTML แต่ใช้ JavaScript สร้างขึ้นมา) ซึ่งในกรณีนี้ canvas ที่ถูกสร้างขึ้นจะไม่มี method ที่ชื่อว่า getContext ซึ่งจะทำให้เราไม่สามารถวาดอะไรไปบน canvas ได้นั่นเอง วิธีในการแก้ไขก็คือ  คุณจะต้องเรียก G_vmlCanvasManager.initElement() ก่อน ดังต่อไปนี้

var el = document.createElement('canvas');
G_vmlCanvasManager.initElement(el);
var ctx = el.getContext('2d');

สำหรับผู้ที่สนใจ สามารถเข้าไปดาวน์โหลด ExplorerCanvas มาใช้งานได้จากที่นี่ครับ http://code.google.com/p/explorercanvas/

แหล่งที่มา: http://diveintohtml5.info/canvas.html

Monday, 27 August 2012

JSColor JavaScript/HTML Color Picker

พอดีว่าผมกำลังพัฒนา Web Application ขึ้นมาตัวหนึ่ง และอยากจะให้ User สามารถกำหนดสีของ Background ได้เอง แต่ถ้าจะให้ User ป้อน HTML Color ในรูปแบบ Hex Code ก็คงจะดูไม่ดีซักเท่าไหร่ ก็เลยลองค้นใน Google ในที่สุดก็เจอ Library ตัวนึงมีชื่อว่า JSColor ซึ่งเป็น JavaScript สำหรับช่วยสร้าง Color Picker พัฒนาขึ้นโดย Jan Odvárko ดูแล้วน่าสนใจดีครับ สำหรับใครที่อยากจะลอง Download มาใช้งานก็เข้าไปที่นี่ครับ http://jscolor.com/

แหล่งที่มา : http://jscolor.com/

Thursday, 2 August 2012

History.js gracefully supports the HTML5 History/State APIs in all browsers

สำหรับใครที่อยากใช้งาน HTML5 History/State APIs แต่กลัวปัญหาเรื่อง Browser Support ลองดู JavaScript Library ตัวนี้ครับ มืชื่อว่า history.js ซึ่งจะช่วยให้เราสามารถใช้งาน HTML5 History/State APIs ได้ใน Browser ต่างๆ สำหรับ Browser ไหนที่ยังไม่รองรับ ก็จะ Fall Back ไปใช้ Hash URL แทน สำหรับผู้ที่สนใจสามารถเข้าไป download มาใช้งานได้ที่นี่ครับ https://github.com/balupton/History.js

แหล่งที่มา: https://github.com/balupton/History.js

Saturday, 14 July 2012

How To Add Animated Flying Twitter Bird Widget



คิดว่าหลายๆคนน่าจะพอคุ้นเคยกับปุ่ม Twitter Follow Me แต่สำหรับอันนี้เป็นปุ่ม Twitter Follow Me แบบพิเศษ คือเป็นนกบินได้ มันจะบินตามเราไปเวลาที่เราเลื่อน Scroll ของ Page ขึ้นและลง สำหรับใครที่สนใจนำไปใช้ ให้เข้าไปที่ http://www.way2blogging.org/2011/01/how-to-add-animated-flying-twitter-bird.html บนหน้า Web จะมีปุ่มให้เราสามารถ Generate Script เพื่อที่เราจะสามาถนำไปแปะเอาไว้บน Web ของเราได้ครับ

แหล่งที่มา: http://www.way2blogging.org

Friday, 13 July 2012

clippy.js - Add Clippy and His Friends to any Website



หากพูดถึง Microsoft Agent บางคนอาจจะพอจำได้ หรือไม่ก็อาจจะไม่รู้จักเลย ถ้าหากว่าไม่รู้จักก็ลองเข้าไปดูใน Wiki ตาม link นี้นะครับ http://en.wikipedia.org/wiki/Microsoft_Agent โดยส่วนตัว ผมรู้สึกว่าเป็น Technology อันนึงที่ Microsoft ทำออกมาได้ดี คือ เอาตัว Cartoon มาทำหน้าที่สื่อสารข้อมูลกับ User โดยใช้คู่กับเทคโนโลยี Speech Recognition และ Text to Speech แต่ไม่รู้หายไปไหนแล้วเหมือนกัน

วันนี้ระหว่างที่ผมกำลังอ่านบทความ บังเอิญไปเจอบทความอันนึงเขียนไว้เกี่ยวกับ clippy.js ซึ่งเป็น JavaScript Library ที่จะช่วยให้เราสามารถนำ Microsoft Agent มาใช้งานบน Website ของเราได้แบบง่ายๆ อย่างเช่น สั่งให้ Play Animation, Speak, Move เป็นต้น ก็เลยอยากเอาเขียนแนะนำไว้ เผื่อว่าใครจะอยากลองเอาไปใช้ดูครับ สำหรับใครที่สนใจสามารถเข้าไปศึกษาข้อมูลเพิ่มเติมได้ที่นี่ครับ http://www.smore.com/clippy-js

แหล่งที่มา: http://www.smore.com/clippy-js

gmap.js - google map api with less pain and more fun



ตามชื่อหัวข้อเลยครับ less pain and more fun สำหรับใครที่เคยรู้สึกปวดหัวกับขั้นตอนการใช้งาน Google Map API อาจต้องมาลองใช้งาน gmap.js ดูครับ ถ้าอยากรู้ว่าง่ายขนาดไหน ลองเข้าไปดูตัวอย่างการใช้งานได้ที่นี่ครับ http://hpneo.github.com/gmaps/examples.html สำหรับใครที่อยาก download ไปใช้งาน ก็เข้าไป download ได้ที่นี่ครับ http://hpneo.github.com/gmaps

แหล่งที่มา: http://hpneo.github.com/gmaps

backbone.js - Using Model

Model ใน backbone นอกจากจะสามารถใช้เก็บ Data ได้ ยังมีความสามารถในการทำ Binding for Change ได้ด้วย นอกจากนั้นยังสามารถ Validate Data ก่อนที่จะเก็บใน Model ได้อีกด้วย เดี๋ยวเราจะมาลองดูการใช้งาน Feature ดังกล่าวกันนะครับ


จากในตัวอย่าง เราทำการสร้าง Model ที่ชื่อว่า Person โดยการ extend จาก Backbone.Model โดยภายใน Model มีการกำหนดค่า defaults สำหรับ attribute ที่ชื่อว่า gender และ nationality

ในส่วนของ initialize เรามีการกำหนด binding ไว้ 2 ตัวคือ 'change:name' ซึ่งจะทำงานเมื่อตรวจพบว่า attribute ที่ชื่อว่า name มีการเปลี่ยนแปลง ส่วน  'error' จะทำงานเมื่อมีการ throw error ออกมาจาก Model (ซึ่งเดี๋ยวเราจะนำไปใช้ในตอน Validate) 

นอกจากนั้นเรายังการกำหนด callback function ให้กับ validate ซึ่งจะทำงานทุกครั้งที่เรามีการกำหนดค่าให้กับ attribute โดยในที่นี้เราทำการทดสอบว่า ถ้า age<18 จะคืนค่า "too youg!" กลับมา ซึ่งการคืนค่า string กลับมาดังกล่าว จะส่งผลให้มีการ throw error ออกมาจาก Model ซึ่งจะส่งผลให้ callback function ที่เรา bind เอาไว้กับ event "error" ทำงาน ซึ่งจะแสดงข้อความ error ออกมาบนหน้าจอ

สำหรับใน Model ตัวอย่างนี้ เรามีการ add custom function ชื่อว่า sayHello เข้าไปด้วย โดยจะทำหน้าที่แสดงข้อความ Hello พร้อมกับดึงค่า attribute ที่ชื่อว่า name ขึ้นมาแสดง

สำหรับใครที่สนใจ สามารถศึกษาเพิ่มเติมได้ที่นี่ครับ http://documentcloud.github.com/backbone

แหล่งที่มา:
  1. http://documentcloud.github.com/backbone
  2. http://backbonetutorials.com/what-is-a-model

Wednesday, 11 July 2012

Impress Your Visitors with Impress.js



สำหรับใครที่อยากได้ Slide Show สวยๆเอาไว้แสดงบน Website ลองใช้งาน impress.js ดูครับ เป็น JavaScript Library ที่ใช้เทคโนโลยี Transform และ Transition ใน CSS3 ดังนั้นจึงใช้ไดักับ Browser ใหม่ๆ อย่าง Chrome, Safari และ Firefox เท่าที่ผมลองดู บน IE 9 ยังคงไม่ Support นะครับ สำหรับใครที่สนใจสามารถลองดู Demo ได้ที่นี่ครับ http://bartaz.github.com/impress.js สำหรับวิธีการใช้งาน impress.js สามารถดูได้ที่นี่ครับ http://www.cubewebsites.com/blog/guides/how-to-use-impress-js/

แหล่งที่มา:
  1. https://github.com/cubewebsites/Impress.js-Tutorial
  2. http://www.developerdrive.com/2012/07/impress-your-visitors-with-impress-js/

Tuesday, 10 July 2012

Underscore.js - Extend Underscore using _mixin

สำหรับภาษา JavaScript การประกาศ Variable และ Function ไว้ลอยๆ จะทำให้เกิดปัญหา Global Pollution สำหรับเทคนิคการเพิ่ม function ไว้ใช้งาน โดยหลีกเลี่ยงการเกิดปัญหา Global Pollution มีอยู่หลายวิธี ไม่ว่าจะเป็นการสร้าง Namespace ขึ้นมา แล้วประกาศ function เอาไว้ใน Namespace แทน (หากยังไม่เข้าใจเรื่องการใช้งาน Namespace ก็สามารถอ่านได้ที่บทความนี้ครับ JavaScript Make It Better - prevent global pollution using namespace)  สำหรับวันนี้ เทคนิคที่ผมอยากมาแนะนำ เป็นเทคนิคการเพิ่ม function ไว้ใช้งานโดยใช้ underscore.js

unserscore.js มี method ที่ชื่อว่า _mixin ไว้สำหรับในกรณีที่เราต้องการเพิ่ม function ใหม่ๆเข้าไป โดย function ที่เพิ่มเข้าไปจะอยู่ภายใต้ Namespace ของ underscore เอง สำหรับในตัวอย่างที่จะนำเสนอต่อไปนี้ ผมจะทดลองเพิ่ม function ชื่อว่า log เพื่อใช้แสดง log ออกทาง console สำหรับวิธีเพิ่ม function โดยใช้ _mixin สามารถทำได้ดังนี้ครับ


จากนั้น เวลาเรียกใช้งาน เราก็จะสามารถเรียกใช้งานได้ดังต่อไปนี้ครับ


เพียงเท่านี้ เราก็ได้ function ใหม่ไว้ใช้งานใน underscore.js โดยไม่เกิดปัญหา Global Pollution ครับ

แหล่งที่มา: http://underscorejs.org

Monday, 9 July 2012

LABjs - The Performance Script Loader



LABjs (Loading And Blocking JavaScript) เป็น JavaScript Loader ที่มีความสามารถ Load JavaScript ในแบบ Asynchronous ซึ่งจะทำให้การ load JavaScript ไม่ไป Block การ load ของ Page ส่งผลให้ Page สามารถ load ได้เร็วขึ้น ปัจจุบันมี JavaScript Loader อยู่หลายตัว อาทิเช่น Require.js, YepNope.js แต่โดยส่วนตัว ผมชอบวิธีการเรียกใช้งานของ LABjs เพราะการเรียกใช้งานเข้าใจง่าย ตรงไปตรงมาดี การใช้งานโดยทั่วไป จะใช้เพียงแค่ 2 คำสั่ง หลักๆ ก็คือ script ใช้สำหรับ load JavaScript ส่วนอีกคำสั่งคือ wait ใช้สำหรับรอ script อื่นๆให้ load เสร็จเรียบร้อยก่อน

ตัวอย่างการใช้งาน LABjs

ตัวอย่างการใช้งาน LABjs (เขียนแบบสั้น)

สำหรับผู้ที่สนใจสามารถศึกษาการใช้งานเพิ่มเติมได้ที่ http://labjs.com ครับ

แหล่งที่มา: http://labjs.com

Saturday, 7 July 2012

Amplify.js - Publish and Subscribe messaging pattern in your front-end application



Amplify.js เป็น JavaScript Library ที่ช่วยในการนำ Publish และ Subscribe Pattern มาใช้งานสำหรับ Front-End Application โดยเตรียม 2 method ไว้ให้เรียกใช้งานได้แก่ amplify.publish และ amplify.subscribe ประโยชน์ของการนำ Publish และ Subscribe (หรือเรียกสั้นๆว่า PubSub) มาใช้ ก็คือจะเป็นการแบ่ง logic ในส่วนของการ Broadcast (Publish) และการ Listen (Subscribe) ออกจากกัน ซึ่งจะส่งผลทำให้การ reuse และ maintain สามารถทำได้ง่ายขึ้น

ตัวอย่างการใช้งาน Amplify.js

สำหรับผู้ที่สนใจ สามารถศึกษาการใช้งาน amplify.js ได้ที่นี่ครับ http://amplifyjs.com/api/pubsub/

แหล่งที่มา: http://amplifyjs.com/api/pubsub/

Tuesday, 3 July 2012

icanhaz.js - simple & powerful client side templating



icanhaz.js เป็น JavaScript library สำหรับสร้าง client side template ที่ใช้ความสามารถของ mustache.js แต่นำมาปรับปรุงให้ใช้งานง่ายขึ้น เหมาะสำหรับผู้ที่ต้องการสร้าง HTML Element ในขณะ Run Time เพื่อความง่ายในการเรียกใช้งาน icanhaz.js จึงได้ทำการ include mustache.js เอาไว้เรียบร้อยแล้ว ดังนั้นเวลาเรียกใช้งาน เราจึงแค่เรียก icanhaz.js เพียงไฟล์เดียว สำหรับวิธีการใช้งาน มีดังต่อไปนี้

1. กำหนด Template








2. ดึงข้อมูลจาก Template






สำหรับใครที่สนใจ สามารถศึกษาเพิ่มเติมได้ที่นี่ครับ http://icanhazjs.com

แหล่งที่มา: http://icanhazjs.com

jquery-json - simple ways to convert to JSON and back again



jQuery มีความสามารถในการ parse JSON string ไปเป็น JavaScript Object โดยใช้ method ที่มีชื่อว่า jQuery.parseJSON(json) แต่น่าแปลกใจว่า jQuery กลับไม่มี function ในการแปลง JavaScript กลับไปเป็น JSON string วันนี้ผมเลยอยากจะมาแนะนำ jQuery Plugin ตัวนึงที่จะช่วยเพิ่ม function ในการแปลงกลับไปกลับมาระหว่าง JSON String กลับ JavaScript Object แบบง่ายๆ Plugin ตัวนี้มีชื่อว่า "jquery-json" จะทำหน้าที่เพิ่มความสามารถให้ jQuery Object โดยเพิ่ม method ที่มีชื่อว่า toJSON (สำหรับแปลง JavaScript Object ไปเป็น JSON string) และ evalJSON (สำหรับแปลง JSON string กลับไปเป็น JavaScript Object) สำหรับใครที่สนใจ สามารถเข้าไป download ได้ที่นี่ครับ http://code.google.com/p/jquery-json/ สำหรับอีกทางเลือกนึงสำหรับผู้ที่ไม่อยากใช้ Plugin ตัวนี้ ก็สามารถไป download json2.js จาก http://www.json.org แล้วใช้ function ที่มีชื่อว่า JSON.stringify() ครับ

ตัวอย่างการใช้งาน jquery-json
แหล่งที่มา:
  1. http://code.google.com/p/jquery-json/
  2. http://www.json.org
  3. http://stackoverflow.com/questions/3904269/convert-object-to-json-string

Sunday, 1 July 2012

FlowPlayer - The video player for the web



สำหรับใครที่กำลังมองหา Video Player สำหรับ Website ลองใช้งาน FlowPlayer ดูครับ เป็นของค่ายเดียวกันกับผู้ผลิต jQuery Tools เป็น Open Source ซึ่งมีทั้ง Free Version (จะมี FlowPlayer Logo) และ Commercial Version (สามารถเปลี่ยน Logo เองได้) สำหรับใครที่สนใจ สามารถศึกษาการใช้งานได้ที่นี่ครับ http://flowplayer.org

แหล่งที่มา: http://flowplayer.org

Friday, 29 June 2012

underscore.js



underscore.js เป็น utility function สำหรับ JavaScript ที่ช่วยให้เราสามารถทำงานได้ง่ายขึ้น โดยมีรูปแบบคล้ายกับ Function Programming ในภาษา Ruby และ Python ยกตัวอย่างเช่น ถ้าเราต้องการทำงานบางอย่าง 3 ครั้ง แทนที่เราจะเขียน For Loop เราก็จะเขียนในลักษณะดังต่อไปนี้

_(3).times(function(){ genie.grantWish(); });
 
underscore.js ยังมี function อื่นๆให้เรียกใช้งานอีกกว่า 60 functions ยังไงก็ลองศึกษาเพิ่มเติมดูจาก online document ตาม link นี้ครับ http://documentcloud.github.com/underscore สำหรับใครที่ต้องการ download underscore.js ไปลองใช้งาน project ของ underscore.js นั้น hosted อยู่บน github ตาม link นี้ครับ https://github.com/documentcloud/underscore/

แหล่งที่มา:
  1. http://documentcloud.github.com/underscore
  2. https://github.com/documentcloud/underscore/

Happy.js - Lightweight form validation for jQuery or Zepto.js



happy.js เป็น JavaScript Library สำหรับช่วย Validate Form สามารถใช้งานร่วมกับ jQuery หรือ Zepto เราสามารถกำหนด Rule ในการ Validate เองได้ ส่วนการ Validate Form เราจะใช้ method ที่มีชื่อว่า isHappy() ถ้าหาก Field ไหน Validate ไม่ผ่าน happy.js ก็จะ apply class "unhappy" เอาไว้ ซึ่งเราสามารถกำหนด Style เอาเองใน CSS นอกจากนั้น happy.js ยังสร้าง span ขึ้นมา โดยมี class ชื่อว่า unHappyMessage สำหรับแสดงผล Error Message ให้อีกด้วย ส่วนวิธีการใช้งาน สามารถศึกษาได้จาก http://happyjs.com


ตัวอย่างการใช้งาน Happy.js

แหล่งที่มา: http://happyjs.com/

Tuesday, 26 June 2012

Easy Script Loading with yepnope.js



yepnope.js เป็น JavaScript Library ขนาดเล็กที่ช่วยในการ Load JavaScript และ CSS ในแบบ Asynchronous และยังสามารถกำหนดเงื่อนไขในการ Load ได้อีกด้วย ความสามารถในการ Load Resources แบบ Asynchronous ทำให้ระหว่างที่รอการ Load Resources ต่างๆอยู่ Page ก็ยังคง Render ต่อไปพร้อมๆกัน โดยไม่มีการ Block เหมือนการโหลด JavaScript แบบปกติ ความสามารถใช้งานกำหนดเงื่อนไขการ Load Resources ส่วนมากมักจะใช้คู่กับ Modernizr ในการโหลด Script ประเภท Polyfill หรือ Shim หากใครสนใจก็สามารถศึกษาข้อมูลได้จาก Official Website ของ YepNope ได้ที่นี่ครับ http://yepnopejs.com/ หรือสามารถศึกษาจาก Tutorial ในบทความนี้ก็ได้ครับ http://net.tutsplus.com/tutorials/javascript-ajax/easy-script-loading-with-yepnope-js/

แหล่งที่มา
  1. http://yepnopejs.com/
  2. http://net.tutsplus.com/tutorials/javascript-ajax/easy-script-loading-with-yepnope-js/