iMacro .iim เรียกใช้ js function เบื้องต้น

เริ่มโดย raptor, 30 มกราคม 2011, 20:32:48

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

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

raptor

iMacro .iim เรียกใช้ js function เบื้องต้น by raptor

-- 1 --
iMacro นั้นเขียน code ได้ 2 แบบ โดย save file เป็นนามสกุลต่างกันคือ .iim กับ .js

.js คือให้เขียนเป็นภาษา javascript แล้วเรียกคำสั่งภาษา .iim ได้โดยเรียก function iimPlay เช่น
iimPlay("CODE:URL GOTO=http://www.thaiseoboard.com
");
alert(content.window.location);

ซึ่ง .js เป็นภาษาที่ซับซ้อนแต่ก็ดีที่เราจะให้ทำ loop ยังไงก็ได้

.iim คือภาษา iMacro ปกติได้จากการ record หรือเขียนเองก็ได้ เช่น
URL GOTO=http://www.thaiseoboard.com
PROMPT {{!URLCURRENT}}

ซึ่ง .iim นั้นเขียนง่าย record แล้วแก้นิดหน่อยก็เสร็จ
แต่ก็เป็นภาษาที่ทำงานตรง ๆ ไล่ทำงานไปทีละบรรทัดจึงสั่งให้ทำอะไรซับซ้อนไม่ได้
อย่างจะเขียน function ตัด string หรือ random เล็ก ๆ น้อย ๆ ก็ทำไม่ได้

แต่แล้วเราก็มีทางเรียก javascript เล็ก ๆ ง่าย ๆ ใน file .iim ได้โดยใช้คำสั่ง URL GOTO=javascript://js code เช่น
URL GOTO=javascript:alert(window.location);void(0);

โดยมีข้อกำหนดว่า
1. js code ทั้งหมดต้องอยู่ในบรรทัดเดียวกันหมด
2. js code ทั้งหมดต้องไม่มีช่องว่าง ถ้ามีให้เปลี่ยนเป็น <SP> แทน
3. ให้ปิดท้ายบรรทัดด้วย void(0); ไว้ด้วย
และนี่เป็นสิ่งที่เราจะมาเล่นกันครับ


-- 2 --
ทีนี้เราจะลองเขียน function ตัด string โดยให้ตัดเครื่องหมาย comma (,) ออกไป โดยเขียนให้เป็น function ด้วยเพื่อความสวยงาม จะได้ประมาณนี้
function removecomma(str){
   return str.replace(/,/gi, "");
}

แปลง code(ให้เป็นบรรทัดเดียว ไม่มีspace ใส่หัว ใส่ท้าย) ทำเป็น .iim ได้ดังนี้
URL GOTO=javascript:function<SP>removecomma(str){return<SP>str.replace(/,/gi,"");}void(0);
อันนี้เป็นการประกาศเฉย ๆ ครับเราต้องทำอีก 2 อย่างคือเรียกใช้ และรับค่าตอบกลับ
การเรียกใช้ทำประมาณนี้ครับ
URL GOTO=javascript:removecomma("{{!VAR1}}");void(0);
ถ้า function ทำงานจบในตัวก็ไม่มีปัญหาครับ แต่ถ้าต้องรับค่าตอบกลับก็มีปัญหาแล้ว
ซึ่งผมก็ไม่รู้จะใช้วิธีไหนดี เอาที่คิดได้ดีสุดของผมแล้วก็คือ ให้ส่งค่าไปที่ title แล้วให้ iMacro เก็บค่าจาก title อีกที ประมาณนี้
function ต้นแบบ ใหม่
function removecomma(str){
   window.document.title = str.replace(/,/gi, "");
}

แปลงเป็น .iim ได้ดังนี้
URL GOTO=javascript:function<SP>removecomma(str){window.document.title=str.replace(/,/gi,"");}void(0);
ตัวอย่างเต็ม ๆ ได้ดังนี้ครับ
// ส่วนหัว
SET !EXTRACT_TEST_POPUP NO
SET !VAR1 1,000.00
// ประกาศ
URL GOTO=javascript:function<SP>removecomma(str){window.document.title=str.replace(/,/gi,"");}void(0);
// เรียกใช้
URL GOTO=javascript:removecomma("{{!VAR1}}");void(0);
// รับค่าตอบกลับ
SET !EXTRACT NULL
TAG POS=1 TYPE=TITLE ATTR=* EXTRACT=TXT
SET !VAR1 {{!EXTRACT}}
// นำค่าที่ได้ไปใช้
PROMPT {{!VAR1}}



-- 3 -- อ่านแค่ตรงนี้ก็ได้  :wanwan014:
จากตัวอย่างที่ทำมาเราจะเห็นว่า ถ้าเรามีหลาย ๆ function จะยุ่งยากมากทีเดียวในการแปลง การประกาศ การเรียกใช้
จึงมีวิธีใหม่ในการประกาศ function โดยการประกาศเรียกใช้ function นี้อันเดียวพอ
function im_include(path) {
   var s = document.createElement('script');
   s.type = 'text/javascript';
   s.src = path;
   document.getElementsByTagName('head')[0].appendChild(s);
}

แปลงเป็น .iim พร้อมทั้งเรียกใช้ในตัวดังนี้
URL GOTO=javascript:im_include("http://thaiseodd.co.cc/raptor.js");function<SP>im_include(path){var<SP>s=document.createElement('script');s.type='text/javascript';s.src=path;document.getElementsByTagName('head')[0].appendChild(s);}void(0);

การทำงานเป็นการบอกให้หน้า page นั้นเพิ่ม tag
<script type="text/javascript" src="http://thaiseodd.co.cc/raptor.js"></script>
เข้าไป ที่ <head> ด้วย
แล้วเราก็นำ function removecomma() ไปใส่ใน raptor.js ของเราเอง

สามารถแปลง path เป็น localhost "_http://localhost/youcode.js" ก็ได้ครับ จะได้ load เร็วด้วย แก้ไขก็ง่ายด้วย
ทีนี้เราจะเพิ่ม function เข้าไปยังไงก็ได้แล้วครับ ใน youcode.js ในเครื่องคุณเอง เขียนเหมือน javascript ปกติเลยครับไม่ต้องมาแปลงอะไรกันอีก

แก้ไขตัวอย่างจากอันที่แล้วก็จะเป็นดังนี้ครับ

// ส่วนหัว
SET !EXTRACT_TEST_POPUP NO
SET !VAR1 1,000.00
// ประกาศพร้อมเรียกใช้ให้เพิ่ม tag <script> เข้าไป
URL GOTO=javascript:im_include("http://thaiseodd.co.cc/raptor.js");function<SP>im_include(path){var<SP>s=document.createElement('script');s.type='text/javascript';s.src=path;document.getElementsByTagName('head')[0].appendChild(s);}void(0);
WAIT SECONDS=1
// เรียกใช้ function ที่เขียนไว้ใน .js ของเรา
URL GOTO=javascript:removecomma("{{!VAR1}}");void(0);
// รับค่าตอบกลับ
SET !EXTRACT NULL
TAG POS=1 TYPE=TITLE ATTR=* EXTRACT=TXT
SET !VAR1 {{!EXTRACT}}
// นำไปใช้
PROMPT {{!VAR1}}

จะมี WAIT เพิ่มมานิดนึงเพื่อให้แน่ใจว่า load .js ของเราเสร็จก่อนเรียกใช้ (ใส่ที่ localhost จะเร็วกว่า)
ทุกครั้งที่มีการเรียกหน้า page ใหม่ ต้องประกาศให้ load .js ใหม่ทุกครั้งนะครับ
ถ้าจะเอา title จริง ๆ ของ page นั้นไปใช้ ต้องเก็บไว้ก่อนเรียก function ที่มีการ return ค่านะครับ

ปล. เอาไป include("jquery.js") แล้วก็เรียกใช้กันตามสบายเลยครับ   หน้า page นั้นเป็นของคุณแล้ว
:wanwan021:

raptor

#1
ท่านใดอยากได้ function javascript อะไรเพิ่มก็






เขียนเองครับ



555 ล้อเล่น
ตั้งกระทู้ถาม
หรือจะ pm มาได้ครับ ถ้าไม่ยากมากผมพอเขียนให้ได้ (  function js อย่างเดียวนะครับ - -"  )

TOOAds.com

แจ่มครับ ยังไม่เคยใช้จาวาใน iim เลย ทำไม่เป็น 555 จริงๆเสริชในเน็ตไม่มีสอนนะแบบบนี้ ความรู้ใหม่ :wanwan011:


TOOAds.com

พอจะเขียนให้ดึงข้อความระวังโคด html ได้ไหมครับ เช่น ผมจะเก็บข้อความระหว่างแทก <meta...> เสริชเจอพวกโคด SEARCH แต่ยังเขียนไม่ได้เลย

yoyokung

โอ๊วววววววววววววววววว

เด็ดดวงจริงๆครับ

เจ๋งมากๆๆๆๆๆๆๆๆๆๆๆๆๆๆๆๆๆๆๆๆๆๆๆๆๆๆๆๆๆๆๆๆๆๆๆๆๆๆๆๆๆๆๆ

ขอบคุณ ขอบคุณ ขอบคุณ

ถูกใจ ให้ Thank ครับผม
[direct=http://loop.in.th/demo/game_query/index.php]ขาย ฐานข้อมูล Flash Game กว่า 25,000 เกมส์[/direct] 5,000 บาท

[direct=http://www.ฉันรักเธอ.com]ฉันรักเธอ[/direct] [direct=http://www.เที่ยวไทย.com]เที่ยวไทย[/direct]

[direct=http://asiangoodjobs.com/learn/php/]สอนดึงเว็บ[/direct] 30 ชั่วโมง / 5,000 บาท สุดยอดมาก
[direct=http://asiangoodjobs.com/learn/php/]สอนดูดเว็บ[/direct] 30 ชั่วโมง / HTML , CSS , jQuery , PHP

raptor

#6
อ้างถึงจาก: TOOAds.com ใน 30 มกราคม 2011, 20:41:57
พอจะเขียนให้ดึงข้อความระวังโคด html ได้ไหมครับ เช่น ผมจะเก็บข้อความระหว่างแทก <meta...> เสริชเจอพวกโคด SEARCH แต่ยังเขียนไม่ได้เลย

ยังไงครับท่าน สมมุติ
<meta name="keywords" content="PHP, MySQL, bulletin, board, free, open, source, smf, simple, machines, forum" />
แล้วเราจะเก็บ content หรือครับ ถ้าแบบนี้เราเขียน jquery ได้แบบนี้ครับ
function removecomma(str){
   window.document.title = $("meta[name='keywords']").attr("content");
}

แต่ต้อง include jquery ด้วยนะครับ แต่เว็บ thaiseo มีอยู่แล้ว ลองทดสอบเรียกใช้ได้เลยครับ

หรือแบบไหนครับท่าน

TOOAds.com

อ้างถึงจาก: raptor ใน 30 มกราคม 2011, 21:05:39
อ้างถึงจาก: TOOAds.com ใน 30 มกราคม 2011, 20:41:57
พอจะเขียนให้ดึงข้อความระวังโคด html ได้ไหมครับ เช่น ผมจะเก็บข้อความระหว่างแทก <meta...> เสริชเจอพวกโคด SEARCH แต่ยังเขียนไม่ได้เลย

ยังไงครับท่าน สมมุติ
<meta name="keywords" content="PHP, MySQL, bulletin, board, free, open, source, smf, simple, machines, forum" />
แล้วเราจะเก็บ content หรือครับ ถ้าแบบนี้เราเขียน jquery ได้แบบนี้ครับ
function removecomma(str){
   window.document.title = $("meta[name='keywords']").attr("content");
}

แต่ต้อง include jquery ด้วยนะครับ แต่เว็บ thaiseo มีอยู่แล้ว ลองทดสอบเรียกใช้ได้เลยครับ

หรือแบบไหนครับท่าน
ขอบคุณครับจะเก็บ PHP, MySQL, bulletin, board, free, open, source, smf, simple, machines, forum นี่ล่ะครับ
แต่ฝีมือผมยังไม่ถึงขั้น เลยอ่านโคดที่แนะนำไม่ออก พอดีไม่ได้เป็นโปรแกรมเมอร์ :wanwan017: :-X เดี๋ยวลองแล้วจะมาแจ้งข่าวอีกทีครับ

pee573489

[direct=https://www.facebook.com/mediabuymafia]Media Buy Mafia - แนวทางสร้างรายได้สาย Paid Traffic[/direct]
[direct=http://mediabuymafia.com/]ฺBlog ที่รวมแหล่งข้อมูลของสาย Paid Traffic[/direct]

ServerTH

อ่าาา แจ่มมากครับ

อยากให้แนะนำการเขียนแบบนี้ครับ

ผมมี iim 4 อัน

คือ a.iim , b.iim , c.iim , d.iim

อยากจะเขียนออกมาว่า

ให้ทำ a.iim จำนวน 10 รอบ

เสร็จแล้วทำ b.iim อีก 10 รอบ

ถ้า b.iim ทำผ่านครบ 10 รอบ ให้เรียก c.iim ถ้าไม่ครบ 10 รอบให้เรียก d.iim


ประมาณนี้ได้หรือเปล่าครับ ขอบคุณสำหรับคำแนะนำล่วงหน้าครับ
:wanwan017: :wanwan017:

pee573489

อ้างถึงจาก: ServerTH ใน 30 มกราคม 2011, 22:13:13
อ่าาา แจ่มมากครับ

อยากให้แนะนำการเขียนแบบนี้ครับ

ผมมี iim 4 อัน

คือ a.iim , b.iim , c.iim , d.iim

อยากจะเขียนออกมาว่า

ให้ทำ a.iim จำนวน 10 รอบ

เสร็จแล้วทำ b.iim อีก 10 รอบ

ถ้า b.iim ทำผ่านครบ 10 รอบ ให้เรียก c.iim ถ้าไม่ครบ 10 รอบให้เรียก d.iim


ประมาณนี้ได้หรือเปล่าครับ ขอบคุณสำหรับคำแนะนำล่วงหน้าครับ
:wanwan017: :wanwan017:


ได้ครับ หลักการนี้ใช้ทำลิ้งค์วีลได้เลยครับ ลองใช้คำสั่ง iimPlay ครับ
[direct=https://www.facebook.com/mediabuymafia]Media Buy Mafia - แนวทางสร้างรายได้สาย Paid Traffic[/direct]
[direct=http://mediabuymafia.com/]ฺBlog ที่รวมแหล่งข้อมูลของสาย Paid Traffic[/direct]

a8

ขอ แบบหลักๆที่ใช้บ่อยๆเลยได้มั้ยครับ

pee573489

อ้างถึงจาก: a8 ใน 30 มกราคม 2011, 22:40:02
ขอ แบบหลักๆที่ใช้บ่อยๆเลยได้มั้ยครับ

คำสั่ง iimPlay ครับมันสามารถเรียกไฟล์ .iim ได้หลายไฟล์ครับส่วนมากผมใช้อันนี้ซึ่งเราไม่จำเป็นต้องกดรันหลายไฟล์ครับ
[direct=https://www.facebook.com/mediabuymafia]Media Buy Mafia - แนวทางสร้างรายได้สาย Paid Traffic[/direct]
[direct=http://mediabuymafia.com/]ฺBlog ที่รวมแหล่งข้อมูลของสาย Paid Traffic[/direct]

KhunHen

อืมสุดยอดครับ เพิ่งรู้ว่าทำอย่างนี้ได้  :wanwan004:

headmaster

อ้างถึงจาก: TOOAds.com ใน 30 มกราคม 2011, 20:37:43
แจ่มครับ ยังไม่เคยใช้จาวาใน iim เลย ทำไม่เป็น 555 จริงๆเสริชในเน็ตไม่มีสอนนะแบบบนี้ ความรู้ใหม่ :wanwan011:

ผมสอนได้นะครับ  :-[


alo555

แล้วระหว่างที่รันแล้วมันเกิด error เราจะให้มันรันต่อหรือเราจะรู้ได้ยังไงครับ :P


Invoker

เยี่ยมเลยครับ  ขอบคุณมากครับ   :wanwan017:

wear428


earthquake

[direct=https://sites.google.com/site/sacsdecouchage/]Sacs De Couchage[/direct]
[direct=https://sites.google.com/site/montrefossil]Montre Fossil[/direct]
[direct=http://lotteryharvesterlotterysystems.yolasite.com]Lottery Harvester Lottery Systems[/direct]