Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用javascript触发gmail收件箱刷新_Javascript_Jquery_Gmail - Fatal编程技术网

使用javascript触发gmail收件箱刷新

使用javascript触发gmail收件箱刷新,javascript,jquery,gmail,Javascript,Jquery,Gmail,我试图模拟点击收件箱上方的刷新按钮。 这是我当前(不工作)的脚本: 我还尝试在查询对象上使用trigger('click')和click() 不久前我也有同样的问题。出于某种原因,它要求按钮处于聚焦状态,并且只有在执行了向下键(mousedow)和向上键(mouseup)后事件才会发生。遗憾的是,使用click()或任何其他JQuery事件触发器都不起作用 我使用纯JS的解决方案: function refreshDomNow() { var refreshButtons = $( 'd

我试图模拟点击收件箱上方的刷新按钮。 这是我当前(不工作)的脚本:


我还尝试在查询对象上使用
trigger('click')
click()

不久前我也有同样的问题。出于某种原因,它要求按钮处于聚焦状态,并且只有在执行了向下键(mousedow)和向上键(mouseup)后事件才会发生。遗憾的是,使用click()或任何其他JQuery事件触发器都不起作用

我使用纯JS的解决方案:

function refreshDomNow() {
    var refreshButtons = $( 'div.T-I.J-J5-Ji.nu.T-I-ax7.L3' ),
        buttonsFounds = refreshButtons.length,
        visibleButton = 0,
        refreshed = false;

    if ( buttonsFounds > 0 ) {              // There should be at least one of these buttons
        for ( var i = 0; i < buttonsFounds; i++ ) {
            var currentButton = $(refreshButtons[i]);
            if ( currentButton.is(':visible') ) {
                var rButton = $(rButtonClass)[i];
                visibleButton++;

                //Trigger mouse down event
                var mouseDown = document.createEvent('MouseEvents');
                mouseDown.initEvent( 'mousedown', true, false );
                rButton.dispatchEvent(mouseDown);

                //Trigger mouse up event
                var mouseUp = document.createEvent('MouseEvents');
                mouseUp.initEvent( 'mouseup', true, false );
                rButton.dispatchEvent(mouseUp);     // This opens the composer

                refreshed = true;
            }   // End of IF currentButton.is(':visible')
        }       // End of FOR loop
    }           // End of IF buttonsFounds > 0

    return refreshed;
}               // End of refreshDomNow();
函数refreshDomNow(){
var refreshButtons=$('div.T-I.J-J5-Ji.nu.T-I-ax7.L3'),
buttonsFounds=refreshButtons.length,
visibleButton=0,
刷新=错误;
如果(buttonsFounds>0){//至少应该有一个这样的按钮
对于(变量i=0;i0,则结束
返回刷新;
}//refreshDomNow()的结束;
即使这样做有效,我也不满意。主要是因为在阅读邮件线程时,刷新按钮不可见。我想提前一步:我想知道如何触发连接到刷新按钮的函数(是的,trigger()不起作用),而无需单击它


有什么想法吗?想法?

你好,阿尔贝托,我认为当你阅读电子邮件时刷新邮件是没有意义的,是吗?如果你需要更新标签(我正在使用谷歌API修改标签),或者你需要它来加载任何已到达收件箱但尚未填充到线程中的邮件,那么刷新邮件是有意义的。
function refreshDomNow() {
    var refreshButtons = $( 'div.T-I.J-J5-Ji.nu.T-I-ax7.L3' ),
        buttonsFounds = refreshButtons.length,
        visibleButton = 0,
        refreshed = false;

    if ( buttonsFounds > 0 ) {              // There should be at least one of these buttons
        for ( var i = 0; i < buttonsFounds; i++ ) {
            var currentButton = $(refreshButtons[i]);
            if ( currentButton.is(':visible') ) {
                var rButton = $(rButtonClass)[i];
                visibleButton++;

                //Trigger mouse down event
                var mouseDown = document.createEvent('MouseEvents');
                mouseDown.initEvent( 'mousedown', true, false );
                rButton.dispatchEvent(mouseDown);

                //Trigger mouse up event
                var mouseUp = document.createEvent('MouseEvents');
                mouseUp.initEvent( 'mouseup', true, false );
                rButton.dispatchEvent(mouseUp);     // This opens the composer

                refreshed = true;
            }   // End of IF currentButton.is(':visible')
        }       // End of FOR loop
    }           // End of IF buttonsFounds > 0

    return refreshed;
}               // End of refreshDomNow();