V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Irisxx
V2EX  ›  程序员

iOS WebKit 和 JS 交互

  •  
  •   Irisxx · 142 天前 · 1195 次点击
    这是一个创建于 142 天前的主题,其中的信息可能已经有所发展或是发生改变。

    https://vr.justeasy.cn/view/xz165se6x8k14880-1657179172.html webview 加载这个 url, 由于左上角那一块头像名字太碍眼,想要隐藏掉,所以用 JS 注入

    我尝试了 document.getElementById ,document.querySelector document.getElementByTagName, document.getElementByClassName ,都获取不到那块 div,而且我尝试了下,整个页面用 class 的标签都改不了,但是用 右下角有个点赞的 用 id 的就可以改。 只能找个前端佬帮我看看。

    我目前定位到的是这个位置: #krpanoSWFObject > div:nth-child(1) > div:nth-child(2) > div:nth-child(8) > div:nth-child(1)

    8 条回复    2024-07-06 17:27:57 +08:00
    Irisxx
        1
    Irisxx  
    OP
       142 天前
    更新一下,好像是 ul 内部的 class 都定位不到,不知道什么原因。求大佬解惑。
    iOCZS
        2
    iOCZS  
       142 天前
    这个不是源码里的元素,因此是前端自己生成的,可能你访问 dom 的时机过早,需要加一些延迟
    ajan
        3
    ajan  
       142 天前
    document.querySelector('#krpanoSWFObject > div:nth-child(1) > div:nth-child(2) > div:nth-child(8)')?.remove()
    okakuyang
        4
    okakuyang  
       142 天前
    这个应该是 krpano 这个库创建的元素,你要等它创建了才能查询到这些元素并修改。
    ashong
        5
    ashong  
       142 天前
    MutationObserver
    ajan
        6
    ajan  
       142 天前   ❤️ 1
    用 js 注入 css 到页面,可以不用等页面加载完成、DOM 渲染完成;
    ---------
    var el = document.createElement('style');
    el.setAttribute('type', 'text/css');
    el.innerText = '#krpanoSWFObject > div:nth-child(1) > div:nth-child(2) > div:nth-child(8){display: none !important;}';
    document.head.appendChild(el);
    sannyzeng
        7
    sannyzeng  
       142 天前 via Android
    6 楼正解
    cz5424
        8
    cz5424  
       141 天前 via iPhone
    这种油猴比较多解决方案,要等他先加载完
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   908 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 20ms · UTC 21:09 · PVG 05:09 · LAX 13:09 · JFK 16:09
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.