如题,学校网站课程影片的连结是存在某个 iframe 里面,
由于我想要自己写一个 Chrome extension 存取该连结并下载它,
脚本通常是用 javascript 写,如果是下列写法,
iframe = document.getElementById("tool_content");
iframe.contentDocument 会因为 CORS 机制而存取不到,
想问板上各路大神是否有一个针对此问题的超强力解法?... (Q1)
此外,下载影片的方式我也想询问,如果是右下角出现
Download
Playback speed
Picture in picture
这三者选单的画面的话,有没有也可以直接用 javascript 或其他等价方法的
下载方式呢?... (Q2)
上述两个解答有效的话,都有丰厚批币,但第一个问题较为重要,谢谢囉~
其中一个作法可能是把 console.log(iframe) 的输出转成字串就能处理,但这个动作我也一直找不到解法:(
作者: s06yji3 (阿南) 2023-03-12 16:24:00
用postMessage和MessageEvent
回楼上,postMessage 是很多人提出的解法,但我不知道具体要怎么去修改校网传来的 iframe,能加在 tag里面吗?iframe 本身有办法把自己的 content 丢出来吗?
回楼上,自己架的话可能可以 (不清楚细节),但如果要作成 extension 发布,总不可能叫人家自己架一个?
作者:
wulouise (在线上!=在电脑前)
2023-03-12 17:30:00只是要抓影片wget不就结束了?
作者: s06yji3 (阿南) 2023-03-12 17:30:00
预期是inject一个script到网页上去取得iFrame资料
作者:
ssccg (23)
2023-03-12 17:33:00要跨网域存取,一定需要你要存取的网页配合,以你的情况来说就是script要执行在iframe里那个网页上,只改外面的网页无论如何都是不行的(否则就是浏览器需要修补的安全性漏洞)
回复 @s06yji3,我不确定 Chrome extension 能否这
作者:
ssccg (23)
2023-03-12 17:37:00但是你是extension,所以应该是直接inject script到iframe
作者:
ssccg (23)
2023-03-12 17:38:00里面那个网页去配合
Chrome extension 可以 inject script 到本地网页去捞那个 iframe 的内容,然后再回传到自己的script吗
作者:
ssccg (23)
2023-03-12 17:43:00作者: s06yji3 (阿南) 2023-03-12 17:54:00
哦,好像inject到iframe 比较直接
所有的 nested iframe 也可以 inject 吗?
作者:
MarcoReus (Marco Reus)
2023-03-12 19:16:00如果iframe 网址已知 我会用background script 直接去捞 @@
作者:
MoonCode (MoonCode)
2023-03-12 19:23:00干好猛 学习到了阿 我还是看不懂 等原po 实验成功回来教教我QQ
有两个都是 <iframe src="about:blank" ...,但我只要其中一个,这样有办法吗?
作者: superpandal 2023-03-12 22:23:00
这东西之前弄过 但安全起见还有更好的方式式
作者: superpandal 2023-03-13 00:34:00
这方式本来就有安全疑虑 无关是不是自己写写 不硬要可以更安全至于自己写的可以写的更绝一点
作者:
Arctica (欲聆听,必先静默)
2023-03-13 12:36:00直觉要透过前端做就是会被browser挡
@superpandal 想请问大大有实际范例可以参考吗?
作者:
MarcoReus (Marco Reus)
2023-03-13 13:34:00原po能提供你的iframe 格式吗?
作者: superpandal 2023-03-13 17:23:00
在公司弄的 现在也没空 在研究其它的你多看mdn 再实作一下不就懂了...
作者:
Hsins (翔)
2023-03-13 21:54:00src="about:blank" 的话,找看看是不是有某段 JS 生出来的还是 server-side 本身就故意要这样塞,前者的话可以直接找到资源网址吧
作者:
Saaski (GreedIsGood)
2023-03-13 22:03:00某s就是在嘴砲而已,他平常回文就那样,不用理他
回 @Hsins,这目前对我来说是 undecidable 问题哈哈
作者:
MarcoReus (Marco Reus)
2023-03-14 19:21:00我猜你的iframe 内容是其他js塞的 看一下network 的request 有没有你要的关键字
我好像找到解法了!!!大致上是去筛 server 送来的response body 里面出现的影片 url,详细解法等我实作完之后再上来告诉大家!奖金的发放也是。
作者:
qq1217 (...)
2023-03-15 00:05:00期待解法
作者:
q00153 (TB)
2023-03-17 07:27:00这个简单的需求,使用脚本外挂就拿做到