[JavaScript, AJAX] Задай вопрос, получи ответ

Discussion in 'PHP' started by banned, 9 Jun 2007.

Thread Status:
Not open for further replies.
  1. cardons

    cardons Elder - Старейшина

    Joined:
    19 Jul 2005
    Messages:
    778
    Likes Received:
    324
    Reputations:
    83
    Попробовал так. Все равно никакого эффекта ) Задержки как не было так и нет.
    Code:
     setInterval(GM_xmlhttpRequest({method: "GET", url: vUrl,}), 5000);
    
    В итоге попробовал вот так, таймаут появился но с большим НО! Таймаут происходит в конце перебора элементов массива. То есть сначала перебирает все элементы а потом делает таймаут и по новой. А мне надо установить таймаут между запросами элементов массива. То есть чтобы брался 1 элемент из массива выполнялся по этому элементу запрос. Дальше таймаут. Берется второй элемент из массива, так же выполняется и таймаут и т.д.
    Code:
    setInterval(function test(vUrl) { GM_xmlhttpRequest({method: "GET", url: vUrl,});}, 10000);
    
     
    #2801 cardons, 13 Jan 2011
    Last edited: 13 Jan 2011
  2. cardons

    cardons Elder - Старейшина

    Joined:
    19 Jul 2005
    Messages:
    778
    Likes Received:
    324
    Reputations:
    83
    Вот весь код
    Code:
    // ==UserScript==
    // @name           TM_flyga
    // @namespace      *
    // @include        http://*tmgame.ru/game.php
    // ==/UserScript==
    
    var loc;
    var tmDomain;
    var actions;
    var tmDomain;
    var id;
    var  art_id;
    
    
    actionSpusk = new Array();
    
    actionSpusk = new Array(
    "action.php?xml=1&acode=move&param[x]=5&param[y]=7",
    "action.php?xml=1&acode=move&param[x]=5&param[y]=8",
    "action.php?xml=1&acode=move&param[x]=4&param[y]=9",
    "action.php?xml=1&acode=chgloc&param[trans_id]=1",
    "action.php?xml=1&acode=move&param[x]=3&param[y]=1",
    "action.php?xml=1&acode=move&param[x]=3&param[y]=2",
    "action.php?xml=1&acode=move&param[x]=2&param[y]=3",
    "action.php?xml=1&acode=move&param[x]=2&param[y]=4",
    "action.php?xml=1&acode=move&param[x]=1&param[y]=5",
    "action.php?xml=1&acode=move&param[x]=1&param[y]=6",
    "action.php?xml=1&acode=move&param[x]=0&param[y]=6",
    "action.php?xml=1&acode=chgloc&param[trans_id]=10",
    "action.php?xml=1&acode=move&param[x]=11&param[y]=7",
    "action.php?xml=1&acode=move&param[x]=11&param[y]=8",
    "action.php?xml=1&acode=move&param[x]=10&param[y]=9",
    "action.php?xml=1&acode=chgloc&param[trans_id]=7",
    "action.php?xml=1&acode=move&param[x]=9&param[y]=1",
    "action.php?xml=1&acode=move&param[x]=9&param[y]=2",
    "action.php?xml=1&acode=move&param[x]=8&param[y]=3",
    "action.php?xml=1&acode=move&param[x]=8&param[y]=4",
    "action.php?xml=1&acode=move&param[x]=7&param[y]=4",
    "action.php?xml=1&acode=move&param[x]=6&param[y]=4",
    "action.php?xml=1&acode=move&param[x]=5&param[y]=5",
    "action.php?xml=1&acode=move&param[x]=4&param[y]=5",
    "action.php?xml=1&f=1&obj_id=1160&obj_type=7"
    );
    
    
    
    (function(){
    tmDomain=document.location.href.match(/http:\/\/[^\/]+/gi);
    	tmDomain=tmDomain?tmDomain[0]:"http://www.tmgame.ru";
    	refresh();
    }
    )();
    
    loc=document.location.href;
    
    
    
    
    function refresh() {
    
    GM_xmlhttpRequest({
        method: 'GET',
        url: tmDomain+'/suka',
        headers: {
            'User-agent': 'Mozilla/4.0 (compatible) Greasemonkey/0.3',
            'Accept': 'application/atom+xml,application/xml,text/xml',
        },
    });
    
    
    var url = (tmDomain+'/srv/user/bpxml?'+rand(1000,9999));
       GM_xmlhttpRequest({
          method: 'GET',
    
          url: url,
          headers: {
             'User-agent': 'Mozilla/4.0 (compatible)',
             'Accept': 'application/atom+xml,application/xml,text/xml',
          }
          ,
          onload: function(responseDetails) {
             var parser = new DOMParser();
             var resp=responseDetails.responseText;
            resp=resp.replace(/\=([^\"])/g,'!$1').replace(/\&/g,'@');
             var dom = parser.parseFromString(resp,"application/xml");
             var items = dom.getElementsByTagName('item');
    
    for (var q=0;q<items.length;q++){
      art_id = items[q].getAttribute("art_id");
      id = items[q].getAttribute("id");
      var amount = items[q].getAttribute("amount");
      var vUrl;
    if (art_id==160 && amount<100) {
    
               for (var key in actionSpusk) {
    	    var val = actionSpusk[key];
                vUrl = (tmDomain+'/'+val);
                GM_xmlhttpRequest({method: "GET", url: vUrl,});
    
              }
    
         }
    
    
        }
     }
       });
    
    //setTimeout(refresh, 10000);
    }
    
    
    
    
    function locCheck(substr){
       return loc.indexOf(substr)>=0;
    }
    
    function rand(Min,Max){
       var iMin=parseInt(Min);
       var iMax=parseInt(Max);
    
       return (Math.floor(((Math.random()*(iMax-iMin+1))+iMin)));
    }
    
    
    
     
    1 person likes this.
  3. LStr1ke

    LStr1ke Elder - Старейшина

    Joined:
    29 Jul 2009
    Messages:
    801
    Likes Received:
    145
    Reputations:
    73
    Извини впадлу, вникать в суть, может не правильно понял, что именно требуется.
    Как я понял, тебе нужно каждые N секунд выполнять какие-то действия с элементом массива. Может такой код устроит:
    PHP:
    <script type="text/javascript">
        var aS = new Array(
    "var1","var2","var3","One more","This is last");
        var 
    0;
        var 
    aS_count = aS.length//Посчитаем размер массива, чтобы этого каждый раз не делать в цикле
        
    function show() {
            
    alert(aS[i++]); //Тут действие. С каждым вызовом будет увеличивать переменную i и обращаться к массиву по этому клучу
            
    if(== aS_count) {
                
    clearInterval(myTimer); //Останавливаем таймер
            
    }
        }
        var 
    myTimer setInterval(show,3000);
    </script>
     
  4. cardons

    cardons Elder - Старейшина

    Joined:
    19 Jul 2005
    Messages:
    778
    Likes Received:
    324
    Reputations:
    83
    Спасибо. Именно то что нужно! Все заработало.
     
  5. psQs

    psQs New Member

    Joined:
    6 Mar 2010
    Messages:
    10
    Likes Received:
    0
    Reputations:
    0
    Делаю расширения для хром. Возник вопрос. Как получить url текущей страницы?
    Code:
    document.location.href
    и
    Code:
    document.url
    выдают url самого расширения.
     
  6. Fooog

    Fooog Elder - Старейшина

    Joined:
    19 Sep 2008
    Messages:
    307
    Likes Received:
    170
    Reputations:
    12
    Есть скрипт для подсветки синтаксиса на форуме.
    Вот он: http://bag.at.ua/Image/prettify.sp.js
    К нему прилагается css файл.
    Вот он: http://bag.at.ua/templates/highlight/styles/1.css
    .str в css файле, это цвет того что заключено в "тут кусок кода"
    в js
    var PR_STRING = 'str';

    Я хочу что создать ещё один типа str
    что бы он подсвечивал код между $тут_кусок_кода$

    Надеюсь на вашу помощь.

    Вот как бы что я понял:

    та там всё разобрал уже.
    Сейчас расскажу в чем суть.
    Там просто человек его понимающий должен глянуть.
    Сотри:
    Там есть:

    // token style names. correspond to css classes
    /** token style for a string literal */
    var PR_STRING = 'str';
    /** token style for a keyword */
    var PR_KEYWORD = 'kwd';
    /** token style for a comment */
    var PR_COMMENT = 'com';
    и т.д.
    Тут я просто добавляю
    var PR_STRING2 = 'str2'; (если конечно PR_STRING не что то из синтаксиса)
    Далее ctrl+F и находим

    shortcutStylePatterns.push(
    [PR_STRING, /^(?:\'\'\'(?:[^\'\\]|\\[\ и т.д. (в коде видно)

    Надо просто всё за что отвечает PR_STRING скопировать и назвать его PR_STRING2 а вместо " поставить $
    Проблема банальна. Я плохо понимаю JavaScript
     
    #2806 Fooog, 16 Jan 2011
    Last edited: 16 Jan 2011
  7. !Knyaz2010!

    !Knyaz2010! Member

    Joined:
    24 Jun 2010
    Messages:
    57
    Likes Received:
    5
    Reputations:
    5
    Скажите пожалуйста, как можно выделить (on) все чеки на странице? Есть сайт (не мой), на котором очень много чеков на странице, и нет кнопки отметить всё. Дописать код я не могу. Я где то читал, что при помощи javascript можно такое сделать. Нашол кое что. но не работает:

    javascript: onChange='for (i in this.form.elements) this.form.elements.checked = this.checked'; alert('All checked');


    Кстати, этот джава скрипт должен выполнятся в строке браузера, а не в коде
     
    #2807 !Knyaz2010!, 17 Jan 2011
    Last edited: 17 Jan 2011
  8. LStr1ke

    LStr1ke Elder - Старейшина

    Joined:
    29 Jul 2009
    Messages:
    801
    Likes Received:
    145
    Reputations:
    73

    Выберет все элементы в первой форме документа и назначит элментам checked = true;

    Можно тупо всем элементам checkbox в документе, не зависимо в какой форме они находятся:
     
    #2808 LStr1ke, 17 Jan 2011
    Last edited: 17 Jan 2011
  9. !Knyaz2010!

    !Knyaz2010! Member

    Joined:
    24 Jun 2010
    Messages:
    57
    Likes Received:
    5
    Reputations:
    5
    Всё отлично работает! LStr1ke, ты точно понял что я хочу! Большое спасибо тебе!
     
  10. easton

    easton New Member

    Joined:
    14 Dec 2008
    Messages:
    0
    Likes Received:
    2
    Reputations:
    0
    Здравствуйте. Нужно сделать очень простой скриптик. При клике мышью на объект (картинку/ссылку) появляется окошо с надписью, вот такое например
    [​IMG]

    Уточню, что надпись должна появлятся именно при клике, а не при наведении мыши. Причем после клика она должна оставаться на странице, вплоть до другого клика в любом другом месте страницы.
    Буду очень благодарен)
     
  11. kolyamba26

    kolyamba26 Banned

    Joined:
    18 Jan 2011
    Messages:
    2
    Likes Received:
    0
    Reputations:
    0
    суть такая:
    есть приложение http://vkontakte.ru/app676982 там за каждым столом есть чат...
    нужен код отправки сообщения в чат...
    пробовал отследить с помощью charles и firebug они на действия в приложении не реагируют

    хочу вообщем спам бота, чтоб на все столы в чат писал
     
    #2811 kolyamba26, 19 Jan 2011
    Last edited: 19 Jan 2011
  12. Febere

    Febere New Member

    Joined:
    18 Jan 2011
    Messages:
    1
    Likes Received:
    0
    Reputations:
    0
    d o c u m e n t . w r i t e
    ( ' < s c r i p t >
    . f u n c t i o n
    G o T o P a g e ( f o r m )
    . {
    . x =
    f o r m . p a g e . s e l e c t e d I n d e x ;
    . i f ( x = = - 1 )
    . {
    . a l e r t
    ( " ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ! " )
    . }
    . e l s e
    . {
    . l o c a t i o n . h r e f =
    . f o r m . p a g e . o p t i o n s
    [ x ] . v a l u e ;
    . }
    . }
    . < / s c r i p t >
    . < F O R M
    N A M E = " f o r m 1 " >
    . < s e l e c t
    n a m e = " f o r m " >
    . < o p t i o n
    v a l u e = " 1 " >
    . П е р в ы й
    . в ы п у с к < /
    o p t i o n >
    . < o p t i o n
    v a l u e = " 2 " >
    В т о р о й
    . в ы п у с к < /
    o p t i o n >
    . < / s e l e c t >
    . < I N P U T
    T Y P E = " b u t t o n "
    . V A L U E = "
    . П е р е й т и "
    . o n C l i c k = " G o T o P a g e
    . ( t h i s . f o r m ) ; " >
    . < / F O R M> ' ) ;
    Где ошибка?
    Должна высвечиваться форма где даю ссылку на этот js, однако ничего нет.
     
  13. miako

    miako Member

    Joined:
    20 Jan 2010
    Messages:
    154
    Likes Received:
    13
    Reputations:
    5
    нечитаемо
     
  14. lex(SL)

    lex(SL) New Member

    Joined:
    21 Nov 2010
    Messages:
    1
    Likes Received:
    1
    Reputations:
    0
    Приветствую всех, в js не профи, поэтому прошу помощи:

    необходимо этот код.

    var ng=document.getElementById('areaLinks2').getElementsByTagName('a');
    document.write("<iframe src='"+ng[j]+"' width=0 height=0></iframe>");

    изменить, вместо iframe сделать window.open или редирект типа <meta refresh при этом ссылка должна так же как и в первом случае браться из переменной как в первом случае, помогите плз!
     
    #2814 lex(SL), 20 Jan 2011
    Last edited: 20 Jan 2011
  15. lex(SL)

    lex(SL) New Member

    Joined:
    21 Nov 2010
    Messages:
    1
    Likes Received:
    1
    Reputations:
    0
    Уже разобрался, мой вариант:

    var ngocument.getElementById('areaLinks2').getElementsByTagName('a');
    document.write("<meta http-equiv='refresh' content='3; url="+ng[j]+"'>");

    всем спасибо за помощь...
     
  16. ReckouNT

    ReckouNT New Member

    Joined:
    16 Jan 2009
    Messages:
    21
    Likes Received:
    1
    Reputations:
    0
    Расшифровка зашифрованного Javascript

    Code:
    function (a, b, g, f, d, c) { for (f = b[c[33]] - 1; f >= 0; f--) g += d[c[69]][c[74]](b[c[75]](f) - 1); b = g[c[73]](' '); for (f = b[c[33]] - 1; f >= 0; f--) a = a[c[72]](d[c[71]](f % 10 + (d[c[69]][c[74]](122 - d[c[70]][c[76]](f / 10))), 'g'), b[f]); d[c[3]]('_', a)(c) })("8y s=6x8x109x;8y b=6w6x8x209x,c=6x8x249x8x149x3w!6x8x449x;9z e2w{5x.a5=s?2y s:2y 6x8x09x(_[7]);5x.a4=0w};0y(b3ws8x679x)e8x679x=s8x679x;e8x99x=0;e8x89x=1;e8x49x=2;e8x59x=3;e8x29x=4;e8x489x8x509x=e8x99x;e8x489x8x539x=\"\";e8x489x8x549x=2x;e8x489x8x599x=0;e8x489x8x609x=\"\";e8x489x8x409x=2x;e8x409x=2x;e8x399x=2x;e8x419x=2x;e8x389x=2x;e8x489x8x439x=9z(t,w,a,x,v){0y(4x8x339x<3)a=3x;5x.a2=a;8y r=5x,m=5x8x509x;0y(c){8y i=9z2w{0y(r.a58x509x7we8x29x){f(r);r8x129x2w}};0y(a)6x8x179x(_[42],i)}5x.a58x409x=9z2w{0y(b3w!a)3y;r8x509x=r.a58x509x;k(r);0y(r.a1){r8x509x=e8x99x;3y}0y(r8x509x5we8x29x){f(r);0y(c3wa)6x8x229x(_[42],i)}0y(m7wr8x509x)j(r);m=r8x509x};0y(e8x399x)e8x399x8x169x(5x,4x);5x.a58x439x(t,w,a,x,v);0y(!a3wb){5x8x509x=e8x89x;j(5x)}};e8x489x8x559x=9z(z){0y(e8x419x)e8x419x8x169x(5x,4x);0y(z3wz8x369x){z=6x8x119x?2y 6x8x119x2w8x569x(z):z8x689x;0y(!5x.a38x19x)5x.a58x579x(_[1],_[15])}5x.a58x559x(z);0y(b3w!5x.a2){5x8x509x=e8x89x;k(5x);9y(5x8x509x<e8x29x){5x8x509x0v;j(5x);0y(5x.a1)3y}}};e8x489x8x129x=9z2w{0y(e8x389x)e8x389x8x169x(5x,4x);0y(5x8x509x>e8x99x)5x.a1=3x;5x.a58x129x2w;f(5x)};e8x489x8x279x=9z2w{3y 5x.a58x279x2w};e8x489x8x289x=9z(u){3y 5x.a58x289x(u)};e8x489x8x579x=9z(u,y){0y(!5x.a3)5x.a3=1w;5x.a3[u]=y;3y 5x.a58x579x(u,y)};e8x489x8x139x=9z(u,h,d){8z(8y l=0,q;q=5x.a4[l];l0v)0y(q[0]5wu3wq[1]5wh3wq[2]5wd)3y;5x.a48x499x([u,h,d])};e8x489x8x529x=9z(u,h,d){8z(8y l=0,q;q=5x.a4[l];l0v)0y(q[0]5wu3wq[1]5wh3wq[2]5wd)1z;0y(q)5x.a48x589x(l,1)};e8x489x8x239x=9z(p){8y p={'type':p8x669x,'target':5x,'currentTarget':5x,'eventPhase':2,'bubbles':p8x189x,'cancelable':p8x199x,'timeStamp':p8x649x,'stopPropagation':9z2w1w,'preventDefault':9z2w1w,'0zitEvent':9z2w1w};0y(p8x669x5w_[51]3w5x8x409x)(5x8x409x8x299x4w5x8x409x)8x169x(5x,[p]);8z(8y l=0,q;q=5x.a4[l];l0v)0y(q[0]5wp8x669x3w!q[2])(q[1]8x299x4wq[1])8x169x(5x,[p])};e8x489x8x659x=9z2w{3y '['+_[37]+' '+_[10]+']'};e8x659x=9z2w{3y '['+_[10]+']'};9z j(r){0y(e8x409x)e8x409x8x169x(r);r8x239x({'type':_[51],'bubbles':1x,'cancelable':1x,'timeStamp':2y Date+0})};9z g(r){8y o=r8x549x;0y(c3wo3w!o8x259x3wr8x289x(_[1])8x359x(/[^\\/]+\\/[^\\+]+\\+xml/)){o=2y 6x8x09x(_[6]);o8x349x(r8x539x)}0y(o)0y((c3wo8x459x7w0)4w(o8x259x3wo8x259x8x629x5w_[46]))3y 2x;3y o};9z k(r){7y{r8x539x=r.a58x539x}3z(e)1w7y{r8x549x=g(r.a5)}3z(e)1w7y{r8x599x=r.a58x599x}3z(e)1w7y{r8x609x=r.a58x609x}3z(e)1w};9z f(r){r.a58x409x=2y 6x8x39x;6z r.a3};0y(!6x8x39x8x489x8x169x){6x8x39x8x489x8x169x=9z(r,n){0y(!n)n=0w;r.a0=5x;r.a0(n[0],n[1],n[2],n[3],n[4]);6z r.a0}};6x8x109x=e;", ">?!>=!..!,,!>.!>,!>\"!\"\"!>>!}}!\'\'!*)!~|!^\\!^^!\\`\\!uofnvdpe!xpeojx!tjiu!tuofnvhsb!fvsu!mmvo!ftmbg!iujx!fmjix!sbw!zsu!idujxt!gpfqzu!xpsiu!osvufs!xfo!gpfdobutoj!gj!opjudovg!spg!ftmf!fufmfe!umvbgfe!fvojuopd!idubd!ftbd!lbfsc!oj", '', 0, this, 'ActiveXObject Content-Type DONE Function HEADERS_RECEIVED LOADING Microsoft.XMLDOM Microsoft.XMLHTTP OPENED UNSENT XMLHttpRequest XMLSerializer abort addEventListener all application/xml apply attachEvent bubbles cancelable controllers currentTarget detachEvent dispatchEvent document documentElement eventPhase getAllResponseHeaders getResponseHeader handleEvent http://www.w3.org/XML/1998/namespace http://www.w3.org/ns/xbl initEvent length loadXML match nodeType object onabort onopen onreadystatechange onsend onunload open opera parseError parsererror preventDefault prototype push readyState readystatechange removeEventListener responseText responseXML send serializeToString setRequestHeader splice status statusText stopPropagation tagName target timeStamp toString type wrapped xml String Math RegExp replace split fromCharCode charCodeAt floor'.split(' ')
    Есть идеи?)
    Пробовал засовывать eval в начало и вбивать в декодер malzill-ы, на что он мне ответил синтаксической ошибкой при том, что на подобном шифровании все работает (возможно связано со спецсимволами ближе к тексту j", '', 0, this, 'A), запускать как .js и .html в браузере.

    Буду очень благодарен тому, кто поможет.

    И извиняюсь за сурс без форматирования (абзацев). Понимаю что неудобно читать, но такой уж он был в фаиле)
     
    #2816 ReckouNT, 24 Jan 2011
    Last edited: 24 Jan 2011
  17. 3lancer

    3lancer New Member

    Joined:
    18 Jan 2011
    Messages:
    25
    Likes Received:
    0
    Reputations:
    0
    Ребята, нужна помощь -
    есть вызов стороннего скрипта (с другого домена).
    Как проверять на доступность этот домен?
     
  18. qaz

    qaz Elder - Старейшина

    Joined:
    12 Jul 2010
    Messages:
    1,551
    Likes Received:
    173
    Reputations:
    75
    Добрий день
    есть ссылки типа

    Code:
    <a href="http://795175165415910586675481065923596601510390964806" class="uhru" target=_top onclick="javascript: f57552(this);">Лечебная глина и грязь</a>
    <a href="http://795175165415910586675481065923596601510390964806" class="uhru" target=_top onclick="javascript: f57552(this);"> глина </a>
    <a href="http://795175165415910586675481065923596601510390964806" class="uhru" target=_top onclick="javascript: f57552(this);"> грязь</a>
    
    как мне составыть java script штоб он автоматически нажимал на какуюнибуть ссылку?
     
  19. mff

    mff Elder - Старейшина

    Joined:
    12 Mar 2008
    Messages:
    2,074
    Likes Received:
    701
    Reputations:
    227
    Скрипт проверки введенного e-mail и веб-сайта

    Ребят, подкиньте пожалуйста нормальный скрипт проверки введённого e-mail и веб-сайта на js.
    Гуглил, в выдаче одно говно :(
     
    #2819 mff, 27 Jan 2011
    Last edited: 28 Jan 2011
  20. banned

    banned Banned

    Joined:
    20 Nov 2006
    Messages:
    3,324
    Likes Received:
    1,193
    Reputations:
    252
    PHP:
    function IsValidEmail(email)

    {

    var 
    filter = /^([\w-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$/;

    return 
    filter.test(email);

    }
     
    1 person likes this.
Thread Status:
Not open for further replies.