Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Автоматический клик по ссылке
 
 автор: нубик   (04.10.2014 в 14:40)   письмо автору
 
 

Всем привет ! Если есть знатоки JS , каким образом можно нажать ссылку пользовательским скиптом?
Например есть ссылка вида :

<A href="./?site=connect&login=u.ЛОГИН&p=ПАРОЛЬ&rn d=8056">Пpoдoлжить</A>

что нужно от скрипта :
если есть на станице такая ссылка (проверить наличие )
если есть - перейти по ней

исходный код

01    <wml>
02    <card id="g" title="НЕТ ТИТЛА)))">
03    <::before>
04    <P>
05    Пepcoнaж oффлaйн. Haжмитe нa ccылку нижe, чтoбы вoйти в игpу. 
06    <BR/>
07    <A href="./?site=connect&login=u.ЛОГИН&p=ПАРОЛЬ&rnd=1112">Пpoдoлжить</A>
08    </P>
09    </card>
10    </wml>



пользовательский JS

1    var allLinks =  document.getElementById('g')[0].getElementsByTagName("a");
2    for (var i = 0; i < allLinks.length; i++) {
3    if (allLinks[i].firstChild.nodeValue == "Продолжить") {
4    allLinks[i].click();
5    break;
6    }
7    }


почему то не происходить клика по ссылке ! В чем может быть причина?

  Ответить  
 
 автор: Deed   (04.10.2014 в 21:05)   письмо автору
 
   для: нубик   (04.10.2014 в 14:40)
 

http://stackoverflow.com/questions/6157929/how-to-simulate-mouse-click-using-javascript

function simulate(element, eventName)
{
    var options = extend(defaultOptions, arguments[2] || {});
    var oEvent, eventType = null;

    for (var name in eventMatchers)
    {
        if (eventMatchers[name].test(eventName)) { eventType = name; break; }
    }

    if (!eventType)
        throw new SyntaxError('Only HTMLEvents and MouseEvents interfaces are supported');

    if (document.createEvent)
    {
        oEvent = document.createEvent(eventType);
        if (eventType == 'HTMLEvents')
        {
            oEvent.initEvent(eventName, options.bubbles, options.cancelable);
        }
        else
        {
            oEvent.initMouseEvent(eventName, options.bubbles, options.cancelable, document.defaultView,
            options.button, options.pointerX, options.pointerY, options.pointerX, options.pointerY,
            options.ctrlKey, options.altKey, options.shiftKey, options.metaKey, options.button, element);
        }
        element.dispatchEvent(oEvent);
    }
    else
    {
        options.clientX = options.pointerX;
        options.clientY = options.pointerY;
        var evt = document.createEventObject();
        oEvent = extend(evt, options);
        element.fireEvent('on' + eventName, oEvent);
    }
    return element;
}

function extend(destination, source) {
    for (var property in source)
      destination[property] = source[property];
    return destination;
}

var eventMatchers = {
    'HTMLEvents': /^(?:load|unload|abort|error|select|change|submit|reset|focus|blur|resize|scroll)$/,
    'MouseEvents': /^(?:click|dblclick|mouse(?:down|up|over|move|out))$/
}
var defaultOptions = {
    pointerX: 0,
    pointerY: 0,
    button: 0,
    ctrlKey: false,
    altKey: false,
    shiftKey: false,
    metaKey: false,
    bubbles: true,
    cancelable: true
}



var allLinks =  document.getElementById('g')[0].getElementsByTagName("a");
for (var i = 0; i < allLinks.length; i++) {
     if (allLinks[i].firstChild.nodeValue == "Продолжить") {
     simulate(allLinks[i], "click");
     break;
    }
 } 

  Ответить  
 
 автор: нубик   (05.10.2014 в 11:56)   письмо автору
 
   для: Deed   (04.10.2014 в 21:05)
 

Я так понимаю это имитация клика по ссылке???

По крайней мере у меня это не работает(

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования