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

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

ThaiSEOBoard.comพัฒนาเว็บไซต์Programmingช่วยผมด้วยครับ รัน imacro เช็คอันดับไม่ผ่านครับ
หน้า: [1]   ลงล่าง
พิมพ์
ผู้เขียน หัวข้อ: ช่วยผมด้วยครับ รัน imacro เช็คอันดับไม่ผ่านครับ  (อ่าน 1125 ครั้ง)
0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้
pakpakpak
สมุนแก๊งเสียว
*

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

กระทู้: 758



ดูรายละเอียด เว็บไซต์
« เมื่อ: 30 มีนาคม 2013, 21:49:42 »

Imacro ตัวนี้มีคนใจดีในบอร์ดเขียนให้เมื่อนานมาแล้ว ผมเอาไว้เช็คอันดับ ใช้มาปีกว่าไม่มีปัญหา มาเกิดเรื่องตอนอาทิตย์ก่อน นึกว่าเป็นที่ firefox อัพเดพ ลองลงเวอร์ชั่นเก่าดูก็เป็นเหมือนเดิมเลยครับ ใครเก่ง imacro ช่วยด้วยครับ ลองทำดูแล้วไม่ไหวจริงๆ

มันขึ้นเออเร่อว่า

โค๊ด:
ReferenceError: XMLHttpRequest is not defined, line: 2 (Error code: 991)

ผมลองแก้ดูโดยเปลี่ยนบรรทัดที่ 2 ด้วยโค้ดนี้(ไปหาในเน็ตมา)

โค๊ด:
    const XMLHttpRequest = Components.Constructor("@mozilla.org/xmlextras/xmlhttprequest;1");
    var xmlhttp = XMLHttpRequest();

ปรากฎว่ารันผ่านแต่ไปติดบรรทัดที่ 16

โค๊ด:
ReferenceError: navigator is not defined, line: 16 (Error code: 991)

คราวนี้ไปไม่เป็นเลยครับ ยังไงช่วยผมด้วยนะครับ ขอบคุณทุกคนมากครับ

อันนี้เป็นโค้ด imacro ที่ใช้ ยังไม่ได้แก้ไขอะไรเลยนะครับ เป็น .js

โค๊ด:
function loadJScode(url){
   xmlhttp = new XMLHttpRequest();
   xmlhttp.open("GET", url+"?r="+Math.random(), false);
   xmlhttp.setRequestHeader("Content-Type", "text/plain;charset=UTF-8");
   xmlhttp.send();
return xmlhttp.responseText;
}
eval(loadJScode("http://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js"));
window.$ = function(select){ return window.jQuery(select, content.document); };
function trim(str){ str = str || ""; return jQuery.trim(str); }

function substrc(str, from, to){
   str = str || "";
   from = from || "";
   to = to || "";
   var start, end;
   start = str.indexOf(from);
   if(start<0) start = 0;
   end = str.lastIndexOf(to);
   if(end<0) end = str.length;
   if(to=="") end = str.length;
   if(start>end) end = str.length;
return str.substr(start+from.length, end-(start+from.length));
}



main();

// my im input page
function show_input_page(){
   gBrowser.selectedTab = gBrowser.addTab();
   iimPlay("CODE:WAIT SECONDS=0.5");
   var html = "";
   html += "<textarea id='im_input_page' wrap='off' style='width:800px; height:600px;'></textarea><br />\r\n";
   $("body").html(html);
   return;
}

function is_input_page(){
   var ret = true;
   if($("textarea#im_input_page").size()<=0) ret = false;
   return ret;
}

function read_input_page(){
   var data = "";
   data = $("textarea#im_input_page").val();
   return data;
}

function map_input_page(input){
   input = trim(input);
   input = input.split("\n");
   var str, url, key;
   var data = new Array();
   for(i=0;i<input.length;i++){
      str = trim(input[i]);
      if(str.length<=0) continue;
      str = str.replace(/\t/g, " ");
      str = str.replace(/  /g, " ");
      url = trim(str.substring(0, str.indexOf(" ")));
      key = trim(str.substring(str.indexOf(" "), str.length));
      var data0 = new function(){};
      data0.url = url;
      data0.key = key;
      data.push(data0);
   }
   return data;
}

function set_clipboard(data){
   var code = "";
   code += "SET !CLIPBOARD {{data}}";
   iimSet("data", data);
   iimPlay("CODE:"+code);
   return;
}

function get_clipboard(){
   var code = "";
   var ret;
   code += "SET !EXTRACT {{!CLIPBOARD}}";
   iimPlay("CODE:"+code);
   ret = iimGetLastExtract();
   return ret;
}

function write_output_page(data){
   gBrowser.selectedTab = gBrowser.addTab();
   iimPlay("CODE:WAIT SECONDS=0.5");
   $("body").html("<textarea wrap='off' style='width:800px; height:600px;'>" + data + "</textarea>");
   return;
}

// my im play loop
function map_data_page_google(){
   var data = new function(){};
   data.result = $("div#resultStats").text();
   data.url_list = new Array();
   $("#rso a.l").each(function(){
      data.url_list.push($(this).attr("href"));
   });
   
   str = data.result.split(" ");
   data.result = trim(str[1]);
   data.result = data.result.replace(/,/g, "");
   return data;
}

function main(){
   var input = "";
   var i, j, data;
   var output = new Array();
   if(is_input_page() == false){
      show_input_page();
      return;
   }
   else input = read_input_page();
   
   if(get_clipboard()=="break") set_clipboard(" ");
   input = map_input_page(input);
   write_output_page("");
   var url_google = "http://www.google.co.th/search?hl=en&gl=us&source=hp&q={{key}}&aq=f&aqi=&aql=&oq=&num=100";
   var url_google = "http://www.google.co.th/search?source=hp&q={{key}}&aq=f&aqi=&aql=&oq=&num=100";
   for(i=0;i<input.length;i++){
      iimDisplay("loop[" + (i+1) + ":" + input.length + "]");
      if(get_clipboard()=="break") break;
      iimSet("key", input[i].key);
      iimPlay("CODE:URL GOTO=" + url_google + "\nWAIT SECONDS=1");
      data = map_data_page_google();
      data.key = input[i].key;
      data.no = 999;
      data.no_url = input[i].url;
      for(j=0;j<data.url_list.length;j++){
         if(data.url_list[j].indexOf(input[i].url)!=-1){
            data.no = j+1;
            data.no_url = data.url_list[j];
            break;
         }
      }
      output.push(data);
   }
   var html = "";
   for(i=0;i<output.length;i++){
      html += output[i].result + "\t" +  output[i].no + "\t" + output[i].no_url + "\t" + output[i].key + "\r\n";
   }
   write_output_page(html);
}
บันทึกการเข้า

pakpakpak
สมุนแก๊งเสียว
*

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

กระทู้: 758



ดูรายละเอียด เว็บไซต์
« ตอบ #1 เมื่อ: 30 มีนาคม 2013, 22:25:05 »

ดันหน่อยครับ
บันทึกการเข้า

net1
ก๊วนเสียว
*

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

กระทู้: 260



ดูรายละเอียด เว็บไซต์
« ตอบ #2 เมื่อ: 31 มีนาคม 2013, 10:20:03 »

ย้อนกลับไปใช้ version 2.7.x
บันทึกการเข้า

หน้า: [1]   ขึ้นบน
พิมพ์