[請益] javascript 如何跨源存取 iframe 內容

軟工

36120

如題,學校網站課程影片的連結是存在某個 iframe 裡面,

由於我想要自己寫一個 Chrome extension 存取該連結並下載它,

腳本通常是用 javascript 寫,如果是下列寫法,

iframe = document.getElementById("tool_content");

iframe.contentDocument 會因為 CORS 機制而存取不到,

想問板上各路大神是否有一個針對此問題的超強力解法?... (Q1)

此外,下載影片的方式我也想詢問,如果是右下角出現
Download
Playback speed
Picture in picture
這三者選單的畫面的話,有沒有也可以直接用 javascript 或其他等價方法的
下載方式呢?... (Q2)

上述兩個解答有效的話,都有豐厚批幣,但第一個問題較為重要,謝謝囉~

--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 115.43.121.35 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Soft_Job/M.1678603297.A.0A9.html
本人1樓其中一個作法可能是把 console.log(iframe) 的輸出 03/12 15:55
本人2樓轉成字串就能處理,但這個動作我也一直找不到解法:( 03/12 15:55
MoonCode4樓原理是仿造一個網頁元素去下載? 03/12 16:10
MoonCode5樓好像不行耶 感覺要先把 cors 相關先念熟 我先躺了 03/12 16:12
MoonCode6樓可能要從瀏覽器緩存或是網路層下手了 這有專業的人在做 03/12 16:19
s06yji37樓用postMessage和MessageEvent 03/12 16:24
本人8樓回樓上,postMessage 是很多人提出的解法,但我不知 03/12 16:36
本人9樓道具體要怎麼去修改校網傳來的 iframe,能加在 tag 03/12 16:36
本人10樓裡面嗎?iframe 本身有辦法把自己的 content 丟出來 03/12 16:37
本人11樓嗎? 03/12 16:37
stupid031912樓proxy server 03/12 17:20
本人13樓回樓上,自己架的話可能可以 (不清楚細節),但如果 03/12 17:26
本人14樓要作成 extension 發布,總不可能叫人家自己架一個? 03/12 17:27
wulouise15樓只是要抓影片wget不就結束了? 03/12 17:30
s06yji316樓預期是inject一個script到網頁上去取得iFrame資料 03/12 17:30
ssccg17樓要跨網域存取,一定需要你要存取的網頁配合,以你的情況來 03/12 17:33
ssccg18樓說就是script要執行在iframe裡那個網頁上,只改外面的網頁 03/12 17:35
ssccg19樓無論如何都是不行的(否則就是瀏覽器需要修補的安全性漏洞) 03/12 17:36
本人20樓回覆 @s06yji3,我不確定 Chrome extension 能否這 03/12 17:37
ssccg21樓但是你是extension,所以應該是直接inject script到iframe 03/12 17:37
本人22樓樣做?然後 @ssccg 大,我有嘗試過 disable Chrome 03/12 17:37
本人23樓的 CORS 限制,但是那個在網頁重整之後就會失效了。 03/12 17:38
ssccg24樓裡面那個網頁去配合 03/12 17:38
本人25樓Chrome extension 可以 inject script 到本地網頁去 03/12 17:38
本人26樓撈那個 iframe 的內容,然後再回傳到自己的script嗎 03/12 17:39
ssccg28樓content_scripts/#frames 03/12 17:43
本人29樓謝謝樓上,看起來可以用上,但我這兩天爆試已經很累 03/12 17:50
s06yji330樓哦,好像inject到iframe 比較直接 03/12 17:54
更多請益
[請益] 海外碩畢與國內碩畢的求職差異
[請益] 純軟該往什麼方向發展
[請益] 一份好的設計規劃應該怎麼寫
[請益] java多執行緒runnable問題請教
[請益] 面試時如何講話更business focused?
[請益] 新鮮人offer請益
[請益] 在系統廠寫內部系統的IT成長方向
[請益] 自己悶著頭做要怎麼知道自己是不是在亂搞