V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
yjsp1919
V2EX  ›  问与答

逆天 JSbug 之,只要页面开 F12 就好用,关掉就出错

  •  
  •   yjsp1919 · 10 天前 · 780 次点击

    笑喷了,智能臭虫!

    (function() { let shouldScroll = false;

    function scrollPage() {
        if (shouldScroll) {
            window.scrollBy(0, 50);
            setTimeout(scrollPage, 10);
        }
    }
    
    window.addEventListener('keydown', function(event) {
        if (event.ctrlKey && event.key === '7') {
            shouldScroll = true;
            scrollPage();
        } else if (event.ctrlKey && event.key === '8') {
            // 停止滚轮滚动
            shouldScroll = false;
            // 开始读取标题
            var ids = document.getElementsByClassName('mat-checkbox-label');
            var idnum = [];
            for(var i = 0; i < ids.length; i++) {
                if(!ids[i].innerText.includes("/")){
                    idnum.push(ids[i].innerText);
                };
            }
            var elements = document.getElementsByClassName('title title-link font-size-18 ng-star-inserted');
            var newTab = window.open();
            for(var j = 0; j < elements.length; j++) {
               //console.log(idnum[j]);
               newTab.document.write(idnum[j]+"."+elements[j].innerText + "<br>");
            }
        }
    });
    

    })();

    我想不出还能有比这更简单的代码?

    3 条回复    2024-12-16 18:32:52 +08:00
    llcczz
        1
    llcczz  
       10 天前
    啥意思这
    GuuJiang
        2
    GuuJiang  
       10 天前 via iPhone
    盲猜跟 document.write 有关,搜索一下 document.write 的执行时机应该可以解决你的疑问
    DOLLOR
        3
    DOLLOR  
       10 天前
    你的需求是什么呢?

    又是 getElementsByClassName ,又是 var 什么的,估计是从哪里 copy 的上古代码了。
    window.open()也应该尽量不用,有可能会被当成弹窗广告,被拦截。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1965 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 19ms · UTC 16:14 · PVG 00:14 · LAX 08:14 · JFK 11:14
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.