Hangover 发表于 2022-1-25 12:56:29

iframe页面元素获取

本帖最后由 Hangover 于 2022-1-25 13:52 编辑

问题:有木有蛋蛋大的大佬给出个简单便捷获取iframe页面元素的方法

地址: https://www.siguyy.net/play/137220-2-13.html

这是我获取不同线路视频中logo并去除的方法:1.let weburl=unsafeWindow.location.href
if (weburl.indexOf('www.ml0513.com')!=-1) {
    GM_addStyle(`
      #lelezdy,
      .leleplayer-logo{
            display:none !important;
      }
      `)
}
if (weburl.indexOf('fufen.mobilegamestudio.net')!=-1) {
    GM_addStyle('.dplayer-logo{display:none !important}')
}
2.
setTimeout(() => {
let weburl=window.location.href;
if (weburl.indexOf('www.ml0513.com')!=-1) {
    var lelezdy = document.querySelector('#lelezdy');
      var logo1 = document.querySelector('.leleplayer-logo');
      lelezdy.style.display = 'none';
      logo1.style.display = 'none';
}
if (weburl.indexOf('fufen.mobilegamestudio.net')!=-1) {
    var logo2 = document.querySelector('.dplayer-logo');
      logo2.style.display = 'none';
}
}, 3000)

这是页面中视频Logo:



cxxjackie 发表于 2022-1-25 12:56:30

报错是因为跨域了,非同源的window无法获取document对象,如果只是内联框架,那反而没有跨域问题,所以同源contentDocument,跨域改match,就是最简单的方案了。

Hangover 发表于 2022-1-25 14:06:41


我想通过这种方式去获取 iframe页面元素,但是报错了


ThisAV 发表于 2022-1-25 14:39:51

你的标题和你的需求有很大的出入啊

这个已经是最简单的方案了

if (weburl.indexOf('fufen.mobilegamestudio.net')!=-1) {
    GM_addStyle('.dplayer-logo{display:none !important}')
}

个人使用的话,建议还是使用ublock来处理会方便一些

Hangover 发表于 2022-1-25 14:50:14

本帖最后由 Hangover 于 2022-1-25 14:52 编辑

ThisAV 发表于 2022-1-25 14:39
你的标题和你的需求有很大的出入啊

这个已经是最简单的方案了

如果iframe只是一个内联框架不包含另一个网页,这方法就不行了,另外我的本意并不是去广告之类的,是想要定位iframe页面中的元素

ThisAV 发表于 2022-1-25 14:59:18

Hangover 发表于 2022-1-25 14:50
如果iframe只是一个内联框架不包含另一个网页,这方法就不行了,另外我的本意并不是去广告之类的,是想要 ...

document.querySelectorAll('.leleplayer-logo', 'iframe')

Hangover 发表于 2022-1-25 15:06:08

ThisAV 发表于 2022-1-25 14:59
document.querySelectorAll('.leleplayer-logo', 'iframe')

gg 上面有地址可以试试

李恒道 发表于 2022-1-25 15:16:22

Hangover 发表于 2022-1-25 15:06
gg 上面有地址可以试试

document.querySelector('iframe').contentWindow.document.querySelector试试

Hangover 发表于 2022-1-25 15:19:46

本帖最后由 Hangover 于 2022-1-25 15:23 编辑

李恒道 发表于 2022-1-25 15:16
document.querySelector('iframe').contentWindow.document.querySelector试试
那页面中有3个iframe标签 而且使用contentWindow.document或者contentDocument直接报错

李恒道 发表于 2022-1-25 17:52:46

Hangover 发表于 2022-1-25 15:19
那页面中有3个iframe标签 而且使用contentWindow.document或者contentDocument直接报错 ...

那种属于不是同源我记着
这种情况只能match匹配地址了?
页: [1] 2
查看完整版本: iframe页面元素获取