上一主题 下一主题
ScriptCat,新一代的脚本管理器脚本站,与全世界分享你的用户脚本油猴脚本开发指南教程目录
返回列表 发新帖

哥哥们,能帮我看下这是哪里出的问题吗?

[复制链接]
  • TA的每日心情
    开心
    2022-11-11 15:18
  • 签到天数: 6 天

    [LV.2]偶尔看看I

    2

    主题

    3

    回帖

    10

    积分

    助理工程师

    积分
    10
    发表于 2022-10-27 23:26:58 | 显示全部楼层 | 阅读模式
    悬赏2油猫币已解决

    23_19.png

    哥哥们,麻烦帮忙看下我这里哪里的问题,把代码复制到控制台就可以找到元素并且运行

    23_20.png

    但是写进油猴里运行,就找不到元素,不知道是哪里出的问题,麻烦大佬给看看~

    最佳答案

    查看完整内容

    善用论坛搜索 https://bbs.tampermonkey.net.cn/thread-835-1-1.html 页面加载与元素的那点破事 页面加载不等于元素已经出现,我们通常在f12控制台调试和查看的是现有的页面,并不代表页面加载完毕后就一定具备这个元素 尽管很多页面会在加载的时候就出现所有元素 但是也有很多页面,会在渲染完毕后,再根据xhr请求数据等方式,再在页面上绘制新的数据,这个时候如果我们在页面加载完毕和获取数据绘制之间进行获取元素 是获取 ...
  • TA的每日心情
    开心
    2023-2-28 23:59
  • 签到天数: 191 天

    [LV.7]常住居民III

    637

    主题

    5196

    回帖

    6078

    积分

    管理员

    非物质文化遗产社会摇传承人

    积分
    6078

    荣誉开发者管理员油中2周年生态建设者喜迎中秋

    发表于 2022-10-27 23:26:59 | 显示全部楼层
    善用论坛搜索
    https://bbs.tampermonkey.net.cn/thread-835-1-1.html
    页面加载与元素的那点破事

    页面加载不等于元素已经出现,我们通常在f12控制台调试和查看的是现有的页面,并不代表页面加载完毕后就一定具备这个元素

    尽管很多页面会在加载的时候就出现所有元素

    但是也有很多页面,会在渲染完毕后,再根据xhr请求数据等方式,再在页面上绘制新的数据,这个时候如果我们在页面加载完毕和获取数据绘制之间进行获取元素

    是获取不到的。

    解决方法也很简单,

    这里我提供两个常见的方法

    1.使用Setinterval来进行循环判断,当获取元素不为空的时候继续执行,但需要注意不要创建过多的定时器,以及不使用的时候可以考虑销毁定时器

    https://www.runoob.com/jsref/met-win-setinterval.html

    2.通过DOM插入监控来判断

    在bilibili的例子中我们已经搞过了,通过上层已经存在的元素对其进行dom监听,然后再插入的时候会触发这个函数,来进行一些操作

    但是需要注意把握好下层元素的数量问题,如果绘制元素过多反复触发,会极大的延迟运行速度

    let ops=document.querySelector('#arc_toolbar_report .ops');
    //插入三连之后好像会重新生成,不添加就不会重新生成,暂时没弄清什么情况,先这样处理了.
    //主要作用是监听ops的DOMNodeInserted事件,等它修改完成之后再插入我们的三连按钮,另外注意run-at是document-end,要等待ops生成之后再监听,不然query返回null会报错
    //这个事件会多次调用,但是我们insertBefore插入如果元素存在,只是修改而不会新增
    ops.addEventListener("DOMNodeInserted", function(event) {
        let share=document.querySelector('.share');
        share.parentElement.insertBefore(triple,share);
    });

    点评

    你应该懂我在笑什么吧【hhh  发表于 2022-10-28 00:22
    哈哈哈哈哈哈哈哈哈哈哈哈哈  发表于 2022-10-28 00:22
    混的人。
    ------------------------------------------
    進撃!永遠の帝国の破壊虎---李恒道

    入驻了爱发电https://afdian.net/a/lihengdao666
    个人宣言:この世界で私に胜てる人とコードはまだ生まれていません。死ぬのが怖くなければ来てください。
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2023-2-28 23:59
  • 签到天数: 191 天

    [LV.7]常住居民III

    637

    主题

    5196

    回帖

    6078

    积分

    管理员

    非物质文化遗产社会摇传承人

    积分
    6078

    荣誉开发者管理员油中2周年生态建设者喜迎中秋

    发表于 2022-10-27 23:52:15 | 显示全部楼层
    另外推荐使用
    异步获取元素的脚本库 ElementGetter (更新至1.2.1)
    https://bbs.tampermonkey.net.cn/thread-2726-1-1.html
    混的人。
    ------------------------------------------
    進撃!永遠の帝国の破壊虎---李恒道

    入驻了爱发电https://afdian.net/a/lihengdao666
    个人宣言:この世界で私に胜てる人とコードはまだ生まれていません。死ぬのが怖くなければ来てください。
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2024-3-13 10:14
  • 签到天数: 211 天

    [LV.7]常住居民III

    294

    主题

    3906

    回帖

    3826

    积分

    管理员

    积分
    3826

    管理员荣誉开发者油中2周年生态建设者喜迎中秋油中3周年挑战者 lv2

    发表于 2022-10-28 10:10:18 | 显示全部楼层

    图片.png
    我没懂

    上不慕古,下不肖俗。为疏为懒,不敢为狂。为拙为愚,不敢为恶。/ 微信公众号:一之哥哥
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2023-2-28 23:59
  • 签到天数: 191 天

    [LV.7]常住居民III

    637

    主题

    5196

    回帖

    6078

    积分

    管理员

    非物质文化遗产社会摇传承人

    积分
    6078

    荣誉开发者管理员油中2周年生态建设者喜迎中秋

    发表于 2022-10-28 10:59:57 | 显示全部楼层
    王一之 发表于 2022-10-28 10:10
    [md]![图片.png](data/attachment/forum/202210/28/105844xuwmlihstsnhvu65.png)
    我没懂[/md]

    每次如果有一个以上的人回答问题
    我永远是被冷落的那个
    steven说因为我不够长
    这次我够长吧!
    混的人。
    ------------------------------------------
    進撃!永遠の帝国の破壊虎---李恒道

    入驻了爱发电https://afdian.net/a/lihengdao666
    个人宣言:この世界で私に胜てる人とコードはまだ生まれていません。死ぬのが怖くなければ来てください。
    回复

    使用道具 举报

    发表回复

    本版积分规则

    快速回复 返回顶部 返回列表