是这样的,我想拿到一个页面完成才插入的标签,这样的 我想去拿到 video 标签,对前端不是太熟,所以来问一下
1
qsnow6 2018-01-22 13:09:36 +08:00 via iPhone
xpath
|
2
jason19659 2018-01-22 13:38:17 +08:00
你的 js 在它之后加载直接拿
|
3
Tassel OP @jason19659 他是在 iframe 那个 src 里面执行里面 js 脚本之后插入的 直接好像还是取不到
|
4
autoxbc 2018-01-22 13:50:00 +08:00
js 是事件驱动的,你的所有代码应该放在对应的事件处理中,这样可以保证高效
在这个例子里,插入标签会触发 dom 结构变化,可以用突变观察者处理 http://javascript.ruanyifeng.com/dom/mutationobserver.html 如果觉得上面的观察者比较复杂,可以用事件监听,捕获节点插入事件 https://developer.mozilla.org/zh-CN/docs/Web/API/EventTarget/addEventListener |
6
oott123 2018-01-22 14:46:13 +08:00
1. 你是浏览器插件,还是普通的网页上的 js 脚本?插件->A,网页->转 2
2. 如果是普通的 js 脚本,iframe 和你是同域还是跨域?同域->A 或 B,跨域->转 3 3. iframe 内部页面,是受你控制还是不受你控制?受控->B,不受控->C A. 用 onload 事件,也许需要配合 MutationObserver B. 用 postMessage 发送加载完成的事件,并在外面 postMessage 需要进行的操作回里面执行 C. 洗洗睡吧 |
7
Tassel OP @oott123 应该是 C 吧 我是目的就是相当于解析一个网页,拿到 video 的播放地址,看来只能洗洗睡了吧 谢谢了
|
9
awanabe 2018-01-22 15:44:08 +08:00
document.getElementById('#frameId').contentDocument.getElementsByTagName('video');
试试 |
10
beastk 2018-01-22 18:12:28 +08:00 via iPhone
跨域了吧
|