ยินดีต้อนรับคุณ, บุคคลทั่วไป กรุณา เข้าสู่ระบบ หรือ ลงทะเบียน

เข้าสู่ระบบด้วยชื่อผู้ใช้ รหัสผ่าน และระยะเวลาในเซสชั่น

หน้า: [1]   ลงล่าง
พิมพ์
ผู้เขียน หัวข้อ: [บทสอน] Import Javascript to Javascript with AJAX  (อ่าน 6322 ครั้ง)
0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้
EThaiZone
เจ้าพ่อโลลิค่อน
เจ้าพ่อบอร์ดเสียว
*

พลังน้ำใจ: 321
ออฟไลน์ ออฟไลน์

กระทู้: 12,518



ดูรายละเอียด เว็บไซต์
« เมื่อ: 29 มิถุนายน 2007, 21:08:15 »

ไม่ได้เขียนซะนาน พอดีมีฟีลลิ่ง + คำถามจาก

http://www.thaiseoboard.com/index.php/topic,11631.0.html

ผมก็เลยสงสัยว่า ถ้ามีไฟล์จากวาสคริปแบบ
hxxp://m1.webstats.motigo.com/m.js
ผมจะเอามารวมกันยังไง  Huh?

เลยศึกษาสดๆ (ไม่กี่นาทีที่ผ่านมา) ก็พบว่าต้องใช้ ajax ดังนั้นเอามาเล่ากันฟัง
เพื่อลดการใช้คำสั่ง <script> ให้น้อยที่สุด

ขั้นแรก
ให้สร้างไฟล์ main.js ขึ้นมา
แล้วใช้คำสั่งดังนี้

อ้างถึง
function ajaxManager()
   {
   var args = ajaxManager.arguments;
   switch (args[0])
      {
      case "load_js":
      if (document.getElementById) {
         var x = (window.ActiveXObject) ? new ActiveXObject("Microsoft.XMLHTTP") : new XMLHttpRequest();
         }
         if (x)
            {
         x.onreadystatechange = function()
               {
            if (x.readyState == 4 && x.status == 200)
                  {
               var getheadTag = document.getElementsByTagName('head')[0];
               setjs = document.createElement('script');
               setjs.setAttribute('type', 'text/javascript');
               getheadTag.appendChild(setjs);
               setjs.text = x.responseText;
               }
               }
            x.open("GET", args[1],true);
            x.send(null);
            }
         break;
      case "start_up":
         ajaxManager('load_js', 'alert.js');
         break;
      }
   }


ต่อมาให้แก้ส่วนที่ตัวหนาๆ

ajaxManager('load_js', 'alert.js');

ให้ปรับเพิ่มตามไฟล์ เช่น

ajaxManager('load_js', 'alert.js');
ajaxManager('load_js', 'alert2.js');
ajaxManager('load_js', 'hxxp://www.google.com/alert.js');

แล้วเซฟ เสร็จไป 1

จากนั้นไปที่เพจเว็บหลักของเรา ที่เป็น html อะ เพิ่มคำสั่ง
<script src="main.js" type="text/javascript"></script>
(ในกรณีที่ไฟล์ js กะเว็บเราอยู่ที่เดียวกันนะ)

ไว้ในระหว่าง <head></head>

แล้วเพิ่ม  onload="ajaxManager('start_up')" ลงใน <body>

เป็น  <body onload="ajaxManager('start_up')">

แล้วเซฟเว็บ

ลองทดสอบดู ถ้าไม่ผิดพลาด ระบบจะทำงานได้ตามปกติ
แต่มีข้อแม้ข้อหนึ่งคือ ระบบไม่รองรับภาษาอื่นนอกจากอังกฤษ
ผมทดสอบ alert เป็นภาษาไทย มันกลับขึ้นกล่องเปล่าๆ มา แปลว่าภาษาไทยไม่รองรับ

งานนี้ คิดดีๆ ก่อนใช้อย่าลืมแบ็คอัพ  Smiley

เครดิต hxxp://dhtmlnirvana.com
หาบทสอนของเขาไม่เจอ เจอแต่
hxxp://dhtmlnirvana.com/ajax/ajax_tutorial/examples/example9/importjs.html
เลยงัดโค้ดดูเองซะเลย -*-




บันทึกการเข้า

[email protected]
เจ้าพ่อบอร์ดเสียว
*

พลังน้ำใจ: 62
ออฟไลน์ ออฟไลน์

กระทู้: 8,191



ดูรายละเอียด เว็บไซต์
« ตอบ #1 เมื่อ: 29 มิถุนายน 2007, 21:33:08 »

ขอบคุณคับ

บันทึกการเข้า
Tee++;
โปรแกรมเมอร์ จอหงวน
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 79
ออฟไลน์ ออฟไลน์

กระทู้: 1,861



ดูรายละเอียด เว็บไซต์
« ตอบ #2 เมื่อ: 29 มิถุนายน 2007, 23:17:18 »

อ้างถึง
ผมทดสอบ alert เป็นภาษาไทย มันกลับขึ้นกล่องเปล่าๆ มา แปลว่าภาษาไทยไม่รองรับ

ขอเจือกนิดนึงนะ  Shocked

วิธีการทำให้ Ajax รองรับภาษาไทย มี 2 วิธี

1. Save as หน้านั้นเป็น UTF-8 จบ.
2. ไฟล์ alert.js แก้เป็น alert.php ซะ แล้วเขียนประมาณนี้

<?php
header("content-type: application/x-javascript; charset=TIS-620");
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");   
header("Last-Modified: " . gmdate("D, d M Y H:i:s")." GMT");
header("Cache-Control: no-cache, must-revalidate"); 
header("Pragma: no-cache");
?>
alert('ทดสอบจ้า');

แบบนี้เรื่องภาษาไทยก็ไม่ใช่ปัหญหาแล้ว เย่  Cry


ปล.ว่าแต่ว่า ไอ้วิธีนี้มันเอาไปใช้ประโยชน์ได้ยังไงอ่ะ นึกภาพไม่ออก รู้แต่มัน วุ่นวายมากเลย  Tongue
บันทึกการเข้า

EThaiZone
เจ้าพ่อโลลิค่อน
เจ้าพ่อบอร์ดเสียว
*

พลังน้ำใจ: 321
ออฟไลน์ ออฟไลน์

กระทู้: 12,518



ดูรายละเอียด เว็บไซต์
« ตอบ #3 เมื่อ: 29 มิถุนายน 2007, 23:36:38 »

ขอบคุณคร้าบ

ส่วนประโยชน์ ก็เห็นจะเป็น ลดการใช้ <script>
บนเพจให้น้อยที่สุดอะ

คงมีหลายคนบ้า seo เข้าเส้นเหมือนกัน (ฮา)
« แก้ไขครั้งสุดท้าย: 29 มิถุนายน 2007, 23:49:49 โดย EThaiZone » บันทึกการเข้า

raffyarmy
ก๊วนเสียว
*

พลังน้ำใจ: 0
ออฟไลน์ ออฟไลน์

กระทู้: 248



ดูรายละเอียด
« ตอบ #4 เมื่อ: 29 มิถุนายน 2007, 23:40:38 »

ขอบคุณครับได้ความรู้เพิ่มอีกแล้ว Kiss
บันทึกการเข้า

thank you i love thaiseoboard.
Dr.K
Verified Seller
เจ้าพ่อบอร์ดเสียว
*

พลังน้ำใจ: 435
ออฟไลน์ ออฟไลน์

กระทู้: 6,816



ดูรายละเอียด เว็บไซต์
« ตอบ #5 เมื่อ: 30 มิถุนายน 2007, 00:12:26 »

อ้างถึง
ผมทดสอบ alert เป็นภาษาไทย มันกลับขึ้นกล่องเปล่าๆ มา แปลว่าภาษาไทยไม่รองรับ

ขอเจือกนิดนึงนะ  Shocked

วิธีการทำให้ Ajax รองรับภาษาไทย มี 2 วิธี

1. Save as หน้านั้นเป็น UTF-8 จบ.
2. ไฟล์ alert.js แก้เป็น alert.php ซะ แล้วเขียนประมาณนี้

<?php
header("content-type: application/x-javascript; charset=TIS-620");
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");   
header("Last-Modified: " . gmdate("D, d M Y H:i:s")." GMT");
header("Cache-Control: no-cache, must-revalidate"); 
header("Pragma: no-cache");
?>
alert('ทดสอบจ้า');

แบบนี้เรื่องภาษาไทยก็ไม่ใช่ปัหญหาแล้ว เย่  Cry


ปล.ว่าแต่ว่า ไอ้วิธีนี้มันเอาไปใช้ประโยชน์ได้ยังไงอ่ะ นึกภาพไม่ออก รู้แต่มัน วุ่นวายมากเลย  Tongue

อืม
ไอ้ xmlhttprequest นี่มันยังไม่รองรับภาษาไทย tis-620นี่ครับ
ดังนั้น alert.phpต้อง encode เป็น UTF-8 แล้ว save เป็น utf8 น่าจะนะ
บันทึกการเข้า

Tee++;
โปรแกรมเมอร์ จอหงวน
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 79
ออฟไลน์ ออฟไลน์

กระทู้: 1,861



ดูรายละเอียด เว็บไซต์
« ตอบ #6 เมื่อ: 30 มิถุนายน 2007, 00:24:57 »

^
^
^
รองรับครับ Save เป็น ANSI ได้เลย แต่ อย่างหมอว่า UTF-8 ชัวร์กว่าครับ
บันทึกการเข้า

mikeyx
Verified Seller
เจ้าพ่อบอร์ดเสียว
*

พลังน้ำใจ: 271
ออฟไลน์ ออฟไลน์

กระทู้: 4,045



ดูรายละเอียด เว็บไซต์
« ตอบ #7 เมื่อ: 15 พฤศจิกายน 2007, 11:19:41 »

โอว์สุดยอดครับ หามานาน  Cry
บันทึกการเข้า
หน้า: [1]   ขึ้นบน
พิมพ์