[請益] javascript 如何跨源存取 iframe 內容
如題,學校網站課程影片的連結是存在某個 iframe 裡面,
由於我想要自己寫一個 Chrome extension 存取該連結並下載它,
腳本通常是用 javascript 寫,如果是下列寫法,
iframe = document.getElementById("tool_content");
iframe.contentDocument 會因為 CORS 機制而存取不到,
想問板上各路大神是否有一個針對此問題的超強力解法?... (Q1)
此外,下載影片的方式我也想詢問,如果是右下角出現
Download
Playback speed
Picture in picture
這三者選單的畫面的話,有沒有也可以直接用 javascript 或其他等價方法的
下載方式呢?... (Q2)
上述兩個解答有效的話,都有豐厚批幣,但第一個問題較為重要,謝謝囉~
--
其中一個作法可能是把 console.log(iframe) 的輸出
轉成字串就能處理,但這個動作我也一直找不到解法:(
原理是仿造一個網頁元素去下載?
好像不行耶 感覺要先把 cors 相關先念熟 我先躺了
可能要從瀏覽器緩存或是網路層下手了 這有專業的人在做
用postMessage和MessageEvent
回樓上,postMessage 是很多人提出的解法,但我不知
道具體要怎麼去修改校網傳來的 iframe,能加在 tag
裡面嗎?iframe 本身有辦法把自己的 content 丟出來
嗎?
proxy server
回樓上,自己架的話可能可以 (不清楚細節),但如果
要作成 extension 發布,總不可能叫人家自己架一個?
只是要抓影片wget不就結束了?
預期是inject一個script到網頁上去取得iFrame資料
要跨網域存取,一定需要你要存取的網頁配合,以你的情況來
說就是script要執行在iframe裡那個網頁上,只改外面的網頁
無論如何都是不行的(否則就是瀏覽器需要修補的安全性漏洞)
回覆 @s06yji3,我不確定 Chrome extension 能否這
但是你是extension,所以應該是直接inject script到iframe
樣做?然後 @ssccg 大,我有嘗試過 disable Chrome
的 CORS 限制,但是那個在網頁重整之後就會失效了。
裡面那個網頁去配合
Chrome extension 可以 inject script 到本地網頁去
撈那個 iframe 的內容,然後再回傳到自己的script嗎
content_scripts/#frames
謝謝樓上,看起來可以用上,但我這兩天爆試已經很累
哦,好像inject到iframe 比較直接
所有的 nested iframe 也可以 inject 嗎?
如果iframe 網址已知 我會用background script 直接去
撈 @@
乾好猛 學習到了
阿 我還是看不懂 等原po 實驗成功回來教教我QQ
有兩個都是 <iframe src="about:blank" ...,但我只
要其中一個,這樣有辦法嗎?
這東西之前弄過 但安全起見還有更好的方式
式
回樓上,如果是自己寫的腳本應該沒有安全顧慮?求解
這方式本來就有安全疑慮 無關是不是自己寫
寫 不硬要可以更安全
至於自己寫的可以寫的更絕一點
直覺要透過前端做就是會被browser擋
@superpandal 想請問大大有實際範例可以參考嗎?
原po能提供你的iframe 格式嗎?
在公司弄的 現在也沒空 在研究其它的
你多看mdn 再實作一下不就懂了...
Marco大 https://imgur.com/T9VuDsg 這張圖可以嗎?
src="about:blank" 的話,找看看是不是有某段 JS 生出來的
還是 server-side 本身就故意要這樣塞,前者的話可以直接
找到資源網址吧
某s就是在嘴砲而已,他平常回文就那樣,不用理他
回 @Hsins,這目前對我來說是 undecidable 問題哈哈
而且是有兩個 iframe 的 src 都是 about:blank,但
我只要其中一個,這樣也行嗎?
我猜你的iframe 內容是其他js塞的 看一下network 的req
uest 有沒有你要的關鍵字
我好像找到解法了!!!大致上是去篩 server 送來的
response body 裡面出現的影片 url,詳細解法等我
實作完之後再上來告訴大家!獎金的發放也是。
期待解法
48
[分享] 我寫了一份超新手 JavaScript 入門教材大家好,小弟最近在教朋友 JavaScript,寫了一份自學教材 我發現傳統的程式設計教法,從程式觀念一個一個介紹,有點無聊,很多人無法吸收 所以我想說換個方法試試,以不斷寫「小專案」為主,然後在過程中 順便吸收會用到的程式觀念,這樣比較好玩,比較好消化 目前已開發五份課程,共35課 + 35份作業27
[分享] 梗圖產生器 - 網站嵌入程式碼大家好 小弟近期在研發梗圖產生器 最近想開發「嵌入」功能 讓梗圖產生器可以嵌入在外部網站 類似「youtube 嵌入影片」那種功能 最近稍微搞懂原理,就是提供一段 html tag + script tag 給第三方15
Re: [閒聊] 關於sports 24 donate小弟剛好不務正業工程師 先到 chrome 的書籤頁新增書籤, 名稱隨意,我自己是取 remove24 網址貼上以下的代碼 javascript:(function(){$(".container > :not(.embed-responsive)").remove();$("#footylight_sports24_club_two").remove();$("html > iframe:nth-child(5)").remove();})();5
Re: [請益] 比物件導向更先進的程式設計思想?JavaScript 是一個基於原型(Prototype-based)的程式語言 在本質上很難將它歸類為程序導向語言,或是物件導向語言 類別: JavaScript 中沒有類別(Class)的概念,但是有物件(object)的概念 而這個物件概念的物件,則是以GUI的 Widget為主5
Re: [請益] 轉職但無法入行,另一方面也是求職文。講難聽點, 你的技能沒有足以應付的工作, 也看不出潛力, 自然沒公司想用你。 ※ 引述《unendless314 (Sonata)》之銘言:4
Re: [倒了][凍京] 凍京NECRO 結束營運感謝 後來我跟那位放影片的大佬連絡上 發現他也是瘋狂的4:3同好 (畢竟色色影片看全圖還是比較爽的) 他備份了不少影片 都是用4:3錄的 後來我也跟上一起補 (最近我很忙 錄得不多 我的優勢只在後來錄的影片畫質比較好)3
[問卦] 如果 JavaScript 是某種 Lisp?今天來個如果系列 如果當年開發 JavaScript 的人放飛自我 把 JavaScript 弄成 Scheme 或某種 Lisp 的樣子 JavaScript 會變成怎麼樣? 被 ActiveX 幹掉?2
Re: [閒聊] 起點網站部分文字無法轉繁體最近做了一個chrome extension,把起點自定義的編碼轉換回去。 雖然基本功能已經有了,但其他功能還很簡陋 暫時還不打算上架,有興趣的可以先下載試用看看。 連結如下↓