Jquery 尝试单击()事件时发生Greasemonkey错误

Jquery 尝试单击()事件时发生Greasemonkey错误,jquery,greasemonkey,Jquery,Greasemonkey,我尝试单击页面上的按钮,可以获得对象的长度没有问题,但当我尝试单击该项目时,出现以下错误: Error: uncaught exception: [Exception... "Component is not available" nsresult: "0x80040111 (NS_ERROR_NOT_AVAILABLE)" location: "JS frame :: resource://greasemonkey/runScript.js :: <TOP_LEVEL>

我尝试单击页面上的按钮,可以获得对象的长度没有问题,但当我尝试单击该项目时,出现以下错误:

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]
错误:未捕获异常:[异常。。。
“组件不可用”nsresult:“0x80040111(NS\u错误\u不可用)”
位置:“JS帧::resource://greasemonkey/runScript.js 第3行“数据:否]
以下是我正在使用的代码:

(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);*/
        });
})();
(函数(){
$('body')。追加('');
$('#autotop')。单击(函数(){
//buJmnfJwRG
警报($('buJmnfJwRG').length);
$('#buJmnfJwRG')。单击();//此处发生错误
/*
setInterval(函数(){
}, 2000);*/
});
})();
$(文档).ready(函数(){
$('body')。追加('');
$('#autotop')。单击(函数(){
//buJmnfJwRG
警报($('buJmnfJwRG').length);
$('buJmnfJwRG')。单击();
});                
});

链接到目标页面。
#buJmnfJwRG
来自哪里,它是在目标页面上还是由脚本添加的

除非
#buJmnfJwRG
单击,否则事件处理程序是由脚本使用jQuery创建的,您不能使用
$('#buJmnfJwRG')激活它。单击()(通常)

尝试:


我有一个dev看看

$(document).ready(function(){

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

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

//buJmnfJwRG

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

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

});

});
$(文档).ready(函数(){
$('body')。追加('');
$('#autotop')。单击(函数(){
//buJmnfJwRG
警报($('buJmnfJwRG').length);
$('buJmnfJwRG')。单击();
});
});

请注意,您既不需要
$(document).ready()
也不需要
$(function(){…})()在Greasemonkey脚本中。默认情况下,GM在正确的点激发。现在没有错误,但没有发生任何事情,并且不是由我的脚本创建的,它表明正在单击对象,但正在进行其他操作。链接到目标页面或将其代码保存到并链接到该页面。我只是想制作一个auto-awesome for,实际上我想让它成为一个bookmarklet,因此它是独立于浏览器的。不幸的是,该网站是如此具有侵略性和垃圾,以至于我无法关闭足够的防火墙使其工作。所以,我不能再帮你解决这个问题了,但是他们显然做的是非标准的,也是基于flash的东西。所以,仅仅点击一下是不够的。这与-,在功能上与OP的代码相同。它无法解决问题。
$('#autobop').click ( function () {
    //buJmnfJwRG
    alert ( $('#buJmnfJwRG').length );

    var clickEvent = document.createEvent ('MouseEvents');
    clickEvent.initEvent ('click', true, true);
    $('#buJmnfJwRG')[0].dispatchEvent (clickEvent);
} );
$(document).ready(function(){

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

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

//buJmnfJwRG

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

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

});

});