(单击事件后)如何在每次打开后延迟打开新选项卡中的链接列表

深红

我正在尝试制作一个脚本(用于Greasemonkey)(访问特定页面时),
如果您单击我插入到页面中
的链接(该链接“什么都不做”,即我使用event.preventDefault();
以打开页面中的所有链接在新标签页中,
但每个标签页之间都存在延迟,例如 500毫秒

我有此代码(基于此答案

var z = ($('table td').find('a'));         // selection via jQuery
$("#mylink").on('click', function(event){
    event.preventDefault();
    var $this = $(this);
    for (i=0; i<z.length; i++) {    
        window.open(z[i].href, '_blank');    
    }
});

上面的方法有效,但是同时打开所有链接。


因此,我尝试将window.open包含在以下任一行中:

setInterval(function() {        
        window.open(z[i].href, '_blank');   
}, 500);     

或者:

setInterval("window.open('"+z[i].href+"','_blank')", 500);      

但无济于事:两者均无济于事,而且TypeError: z[i] is undefined当我单击链接时,我在浏览器控制台中仅遇到连续错误。


对于它的价值,如果它是链接的事实是导致问题的原因,那么
我还有用于创建按钮而不是链接的代码:

var z = ($('table td').find('a'));         // selection via jQuery

var button = document.createElement("button");
button.id = 'mybutton';
button.type = "button";
button.value = "im a button";
context.appendChild(button);    

$("#mybutton").on('click', function(event){
    event.preventDefault();
    var $this = $(this);
    for (i=0; i<z.length; i++) {            
        window.open(z[i].href, '_blank');
    }
});

window.open以上述两种方式中的任何一种方式更改行都无济于事,
并且在Browser Console中也遇到相同的错误。

克里斯

首先,您正在使用jQuery。为什么不充分利用它呢?除了使用for循环之外,您还可以使用$.each()jQuery方法。另外,setInterval()您应该使用而不是来使用setTimeout()该用例。以下对我有用。

var z = ($('table td').find('a'));         // selection via jQuery
$("#mylink").on('click', function(event){
    event.preventDefault();
    var $this = $(this);

    var interval = 0;   //set the starting point for the timeout interval

    z.each(function() {
        var href = $(this).attr('href');

        setTimeout(function() {
            window.open(href, '_blank');
        }, interval);

        interval += 1500;   //up the interval to ensure a delay between opening

    });
});

旁注,我希望用户期望此功能,因为这可能会令人讨厌。另外,大多数现代浏览器都会阻止这些弹出窗口。只是我的两分钱。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

(单击事件后)如何在每次打开后延迟打开新选项卡中的链接列表

来自分类Dev

用户单击时在新选项卡中打开链接

来自分类Dev

右键单击并保存链接以在新选项卡中打开

来自分类Dev

打开Selenium WebDriver后,如何控制新选项卡?

来自分类Dev

即使用户单击“中间按钮”或右键单击->在新选项卡中打开,如何触发jquery“单击”事件

来自分类Dev

如何在新选项卡中打开选择超链接

来自分类Dev

JavaScript:如何在没有window.open()的新选项卡中打开链接?

来自分类Dev

如何在新选项卡中打开Kendo网格超链接列?

来自分类Dev

如何在引导网格内的新选项卡中打开此链接

来自分类Dev

如何在 Ruby on Rails ActiveAdmin 的新选项卡中打开 CSV、PDF 下载链接?

来自分类Dev

即使用户单击“中间按钮”或右键单击->在新选项卡中打开,如何触发jquery的“ click”事件

来自分类Dev

仅在单击弹出ok jquery后打开新选项卡

来自分类Dev

仅在单击弹出ok jquery后打开新选项卡

来自分类Dev

单击链接打开选项卡

来自分类Dev

如何通过右键单击新选项卡中的“转到网址”来打开网页中的文本作为链接

来自分类Dev

Chrome 扩展程序:如何通过单击 html 弹出窗口中的按钮在新选项卡中打开指定链接?

来自分类Dev

左键单击链接无效,但“在新选项卡中打开”有效

来自分类Dev

jQuery / JavaScript-允许CTRL +单击以在新选项卡中打开链接

来自分类Dev

左键单击链接无效,但“在新选项卡中打开”有效

来自分类Dev

单击DIV在新选项卡中打开内联背景

来自分类Dev

单击图像以在 HTML 页面中打开新选项卡

来自分类Dev

自动滚动后如何模拟单击以打开选项卡

来自分类Dev

JS Jquery - 在新选项卡中打开链接

来自分类Dev

打开新的终端选项卡后如何执行多个命令

来自分类Dev

打开新的终端选项卡后如何执行多个命令

来自分类Dev

如何单击Element()并在同一选项卡中而不是在新窗口中打开链接?

来自分类Dev

如何使用javascript和jquery中的<a>标记在新选项卡中打开链接

来自分类Dev

如何强制动态对象中的链接在新选项卡中打开?

来自分类Dev

如何让链接打开Bootstrap模态中的特定选项卡?

Related 相关文章

  1. 1

    (单击事件后)如何在每次打开后延迟打开新选项卡中的链接列表

  2. 2

    用户单击时在新选项卡中打开链接

  3. 3

    右键单击并保存链接以在新选项卡中打开

  4. 4

    打开Selenium WebDriver后,如何控制新选项卡?

  5. 5

    即使用户单击“中间按钮”或右键单击->在新选项卡中打开,如何触发jquery“单击”事件

  6. 6

    如何在新选项卡中打开选择超链接

  7. 7

    JavaScript:如何在没有window.open()的新选项卡中打开链接?

  8. 8

    如何在新选项卡中打开Kendo网格超链接列?

  9. 9

    如何在引导网格内的新选项卡中打开此链接

  10. 10

    如何在 Ruby on Rails ActiveAdmin 的新选项卡中打开 CSV、PDF 下载链接?

  11. 11

    即使用户单击“中间按钮”或右键单击->在新选项卡中打开,如何触发jquery的“ click”事件

  12. 12

    仅在单击弹出ok jquery后打开新选项卡

  13. 13

    仅在单击弹出ok jquery后打开新选项卡

  14. 14

    单击链接打开选项卡

  15. 15

    如何通过右键单击新选项卡中的“转到网址”来打开网页中的文本作为链接

  16. 16

    Chrome 扩展程序:如何通过单击 html 弹出窗口中的按钮在新选项卡中打开指定链接?

  17. 17

    左键单击链接无效,但“在新选项卡中打开”有效

  18. 18

    jQuery / JavaScript-允许CTRL +单击以在新选项卡中打开链接

  19. 19

    左键单击链接无效,但“在新选项卡中打开”有效

  20. 20

    单击DIV在新选项卡中打开内联背景

  21. 21

    单击图像以在 HTML 页面中打开新选项卡

  22. 22

    自动滚动后如何模拟单击以打开选项卡

  23. 23

    JS Jquery - 在新选项卡中打开链接

  24. 24

    打开新的终端选项卡后如何执行多个命令

  25. 25

    打开新的终端选项卡后如何执行多个命令

  26. 26

    如何单击Element()并在同一选项卡中而不是在新窗口中打开链接?

  27. 27

    如何使用javascript和jquery中的<a>标记在新选项卡中打开链接

  28. 28

    如何强制动态对象中的链接在新选项卡中打开?

  29. 29

    如何让链接打开Bootstrap模态中的特定选项卡?

热门标签

归档