<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-3130420411018411847</id><updated>2011-07-28T22:06:29.101-07:00</updated><title type='text'>เทคนิค AJAX ขั้นสูง</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://expert-ajax.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3130420411018411847/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://expert-ajax.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>CrazyHero</name><uri>http://www.blogger.com/profile/17303106070046776396</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>1</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-3130420411018411847.post-3754756951962031127</id><published>2009-08-31T11:22:00.000-07:00</published><updated>2009-08-31T12:08:02.964-07:00</updated><title type='text'>วิธีใช้ Ajax ร่วมกับ Links แบบ Facebook</title><content type='html'>&lt;span class="Apple-style-span"  style="font-family:verdana;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;หากใครสังเกตเวลาใช้ Facebook จะพบว่าการเปลี่ยนหน้า โดยเลือก tab ข้างบน อาจจะสงสัยว่าทำไมจึงลื่นไหลดีจัง ส่วนอื่นๆของหน้าไม่ต้องโหลดใหม่เลย เหมือนการทำงานของ ajax ทั้งที่ดูในโค้ดก็เป็นแค่ลิงก์ &amp;lt;a href= ... ธรรมดา พอกดเข้าไป url ใน address bar ก็เปลี่ยน เหมือนการกดลิงก์ธรรมดาเลย ตกลงมันยังไงกันล่ะเนี่ย งงไปหมด เขาทำได้ไง&lt;br /&gt;&lt;br /&gt;แน่นอนครับ Facebook ไม่ได้ใช้ลิงก์ธรรมดาแน่นอน ถ้าลองสังเกตดูดีๆ เวลาเอาเมาส์ชี้ที่ลิงก์ กับตอนที่กดลิงก์ไป มันเป็นคนละ URL กัน แสดงว่า facebook ใช้ ajax แน่นอน และใช้ Javascript ในการเปลี่ยน URL ใน address bar ด้วย&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span"  style="color:#CC0000;"&gt;จุดประสงค์ในการทำแบบนี้มี 2 ข้อ&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span"  style="color:#990000;"&gt;ข้อแรก&lt;/span&gt; ก็คือเพื่อเพิ่มความเร็วในการติดต่อกับผู้ใช้ โดยใช้ ajax โหลดเฉพาะข้อมูลที่ต้องการเท่านั้น ไม่ต้องโหลดส่วนอื่นๆของหน้าเว็บ ทำให้การแสดงผลลื่นไหลไม่มีสะดุดตามสไตล์ของ ajax&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span"  style="color:#990000;"&gt;ข้อสอง&lt;/span&gt; คือการรักษารูปแบบของลิงก์แบบปกติ ทำให้ bot ของ search engine สามารถตามไปเก็บข้อมูลได้ และทำให้ URL บน address bar สามารถใช้อ้างอิงในการเข้าไปยังหน้านั้นๆได้ด้วย ซึ่งหากเป็น Ajax แบบธรรมดา หากเรานำ url บน address bar ไปพิมพ์ในหน้าต่างใหม่ เราจะเจอแต่หน้าแรกเท่านั้น การ bookmark ก็จะทำไม่ได้ด้วย&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="text-decoration: underline;"&gt;&lt;b&gt;วิธีการทำ Ajax ร่วมกับ Links &lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;หลักก็คือ เราจะสร้างลิงก์แบบธรรมดา แล้วใช้ Javascript ทำส่วนที่เหลือ โดยการเปลี่ยนหน้าด้วยการคลิกลิงก์ นั้น จะใช้ innerHTML สร้างข้อมูลภายใน แล้วใช้ window.location.hash เปลี่ยนค่าใน address bar ทำให้ addres ใหม่ที่ได้มีเครื่องหมาย # แทรกเข้ามา วิธีนี้จะสามารถเปลี่ยนข้อมูลใน address bar ได้โดยไม่ต้อง reload เพจใหม่&lt;br /&gt;&lt;br /&gt;จากนั้นก็เขียนสคริปต์อีกชุดขึ้นมาดักกรณีที่เข้าด้วย url ที่มี # โดยตรวจสอบว่าถ้า&lt;br /&gt;window.location.hash ไม่เป็นค่าว่าง ก็ให้ reload page ใหม่ด้วย url รูปแบบปกติืิที่ไม่มี #&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:verdana;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;ตัวอย่าง ก่อน reload&lt;br /&gt;http://example.com/testtab.php?v=x1#testtab.php?v=x1&lt;br /&gt;&lt;br /&gt;ตัวอย่าง  หลัง reload&lt;br /&gt;http://example.com/testtab.php?v=x1&lt;br /&gt;&lt;br /&gt;ตัวอย่างโค้ด อยู่ในลิงก์ด้านล่าง&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:verdana;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;br /&gt;&lt;a href="http://docs.google.com/View?id=dfw3497w_0d6r79rdv"&gt;http://docs.google.com/View?id=dfw3497w_0d6r79rdv&lt;/a&gt;&lt;br /&gt;&lt;span class="Apple-style-span"   style="  white-space: pre-wrap; font-family:-webkit-monospace;font-size:17px;"&gt;&lt;script type="text/javascript"&gt;&lt;!-- google_ad_client = "pub-5427519945741642"; /* 728x15, ถูกสร้างขึ้นแล้ว 8/31/09 */ google_ad_slot = "7343930623"; google_ad_width = 728; google_ad_height = 15; //--&gt; &lt;/script&gt; &lt;script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt; &lt;/script&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3130420411018411847-3754756951962031127?l=expert-ajax.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://expert-ajax.blogspot.com/feeds/3754756951962031127/comments/default' title='ส่งความคิดเห็น'/><link rel='replies' type='text/html' href='http://expert-ajax.blogspot.com/2009/08/ajax-links-facebook.html#comment-form' title='0 ความคิดเห็น'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3130420411018411847/posts/default/3754756951962031127'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3130420411018411847/posts/default/3754756951962031127'/><link rel='alternate' type='text/html' href='http://expert-ajax.blogspot.com/2009/08/ajax-links-facebook.html' title='วิธีใช้ Ajax ร่วมกับ Links แบบ Facebook'/><author><name>CrazyHero</name><uri>http://www.blogger.com/profile/17303106070046776396</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
