Ошибка Greasemonkey при попытке события click () - PullRequest
0 голосов
/ 13 декабря 2011

Я пытаюсь нажать кнопку на странице, и я могу без проблем получить длину объекта, но когда я пытаюсь щелкнуть элемент, я получаю эту ошибку:

Error: uncaught exception: [Exception... 
 "Component is not available"  nsresult: "0x80040111 (NS_ERROR_NOT_AVAILABLE)"  
 location: "JS frame :: resource://greasemonkey/runScript.js :: <TOP_LEVEL> :: line 3"  data: no]

Воткод, который я использую:

(function(){
    $('body').append('<input type="button" id="autobop" value="autobop" />');   
    $('#autobop').click(function(){
            //buJmnfJwRG
            alert($('#buJmnfJwRG').length);
            $('#buJmnfJwRG').click(); // error occurs here
            /*
            setInterval(function() {

            }, 2000);*/
        });
})();

Ответы [ 3 ]

0 голосов
/ 14 декабря 2011

Ссылка на целевую страницу. Откуда взялась #buJmnfJwRG, была ли она на целевой странице или добавлена ​​вашим сценарием?

Если #buJmnfJwRG не щелкнул, обработчик событий был создан вашим сценарием с использованием jQuery, вы не можете активировать его с помощью $('#buJmnfJwRG').click(); (обычно).

Попробуйте:

$('#autobop').click ( function () {
    //buJmnfJwRG
    alert ( $('#buJmnfJwRG').length );

    var clickEvent = document.createEvent ('MouseEvents');
    clickEvent.initEvent ('click', true, true);
    $('#buJmnfJwRG')[0].dispatchEvent (clickEvent);
} );
0 голосов
/ 14 декабря 2011

У меня был разработчик взглянуть ....

$(document).ready(function(){

$('body').append('<input type="button" id="autobop" value="autobop" />');

$('#autobop').click(function(){

//buJmnfJwRG

alert($('#buJmnfJwRG').length);

$('#buJmnfJwRG').click();

});

});
0 голосов
/ 13 декабря 2011
$(document).ready(function(){
    $('body').append('<input type="button" id="autobop" value="autobop" />'); 

        $('#autobop').click(function(){
            //buJmnfJwRG
            alert($('#buJmnfJwRG').length);
            $('#buJmnfJwRG').click();
        });                
});
...