【问题标题】:restrict a bookmarklet that opens a random link on page限制在页面上打开随机链接的小书签
【发布时间】:2020-03-15 02:47:36
【问题描述】:

我发现这个小书签可以在您当前页面上打开一个随机链接。

javascript:void(window.open(document.links[Math.floor(Math.random()*document.links.length)].href,'_self'));

我想在网站上使用它,但我也想限制它,以免打开某些链接。有什么办法可以做到吗?

(我也找到了书签here

【问题讨论】:

    标签: javascript random bookmarklet


    【解决方案1】:

    你要找的重点是如何filter an array

    你可能会注意到document.links.filter() 抛出了一个错误,这是因为it's not an array 本身是一个HTMLCollection(它没有.filter() 方法),所以你必须先convert it to an array

    我用的是最现代的方式,你的用法可能不同:

    [...document.links]
      .filter(link => !link.href.includes('stackoverflow'))
    

    【讨论】:

    • 我有点困惑如何将它实现到我拥有的东西中......我似乎无法让它工作。
    • 这将返回一个过滤后的数组,您可以使用与当前代码[Math.floor(Math.random()*document.links.length)] 相同的方式访问该数组。您可以使用更新的方法编辑您的问题吗?
    猜你喜欢
    • 1970-01-01
    • 2020-04-08
    • 2014-05-13
    • 1970-01-01
    • 1970-01-01
    • 2011-09-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多