[บทสอน] Import Javascript to Javascript with AJAX

เริ่มโดย EThaiZone, 29 มิถุนายน 2007, 21:08:15

หัวข้อก่อนหน้า - หัวข้อถัดไป

0 สมาชิก และ 1 ผู้มาเยือน กำลังดูหัวข้อนี้

EThaiZone

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

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

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

เลยศึกษาสดๆ (ไม่กี่นาทีที่ผ่านมา) ก็พบว่าต้องใช้ 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 เป็นภาษาไทย มันกลับขึ้นกล่องเปล่าๆ มา แปลว่าภาษาไทยไม่รองรับ

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

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





[email protected]


Tee++;

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

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

วิธีการทำให้ 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('ทดสอบจ้า');

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


ปล.ว่าแต่ว่า ไอ้วิธีนี้มันเอาไปใช้ประโยชน์ได้ยังไงอ่ะ นึกภาพไม่ออก รู้แต่มัน วุ่นวายมากเลย  :P
[direct=http://laravel.in.th]Laravel in Thai[/direct]
[direct=http://jquerytips.com]jQueryTips by Tee++;[/direct]
[direct=https://www.facebook.com/jQueryTips]jQueryTips Page[/direct]
[direct=https://www.facebook.com/Laravel.in.th]Laravel in Thai Page[/direct]
[direct=https://twitter.com/Teepluss]Teepluss's Twitter[/direct]


EThaiZone

#3
ขอบคุณคร้าบ

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

คงมีหลายคนบ้า seo เข้าเส้นเหมือนกัน (ฮา)

raffyarmy

ขอบคุณครับได้ความรู้เพิ่มอีกแล้ว :-*
thank you i love thaiseoboard.

Dr.K

อ้างถึงจาก: Tee++; ใน 29 มิถุนายน 2007, 23:17:18
อ้างถึงผมทดสอบ alert เป็นภาษาไทย มันกลับขึ้นกล่องเปล่าๆ มา แปลว่าภาษาไทยไม่รองรับ

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

วิธีการทำให้ 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('ทดสอบจ้า');

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


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

อืม
ไอ้ xmlhttprequest นี่มันยังไม่รองรับภาษาไทย tis-620นี่ครับ
ดังนั้น alert.phpต้อง encode เป็น UTF-8 แล้ว save เป็น utf8 น่าจะนะ
[direct=https://www.thaihealth.net/blog/seo_doctor/]seo blog[/direct]|[direct=https://netplushost.com]netplushost[/direct]
[direct=https://pattayawebmarketing.com/pattaya-seo]pattaya seo[/direct]
[direct=https://dochost.net]seo hosting[/direct]

Tee++;

^
^
^
รองรับครับ Save เป็น ANSI ได้เลย แต่ อย่างหมอว่า UTF-8 ชัวร์กว่าครับ
[direct=http://laravel.in.th]Laravel in Thai[/direct]
[direct=http://jquerytips.com]jQueryTips by Tee++;[/direct]
[direct=https://www.facebook.com/jQueryTips]jQueryTips Page[/direct]
[direct=https://www.facebook.com/Laravel.in.th]Laravel in Thai Page[/direct]
[direct=https://twitter.com/Teepluss]Teepluss's Twitter[/direct]


mikeyx

โอว์สุดยอดครับ หามานาน  :'(