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

作者: wsad50232 (阿豐)   2023-03-13 20:10:31
※ 引述《alan23273850 (God of Computer Science)》之銘言:
: 腳本通常是用 javascript 寫,如果是下列寫法,
: iframe = document.getElementById("tool_content");
: iframe.contentDocument 會因為 CORS 機制而存取不到,
: 想問板上各路大神是否有一個針對此問題的超強力解法?... (Q1)
: 此外,下載影片的方式我也想詢問,如果是右下角出現
: Download
: Playback speed
: Picture in picture
: 這三者選單的畫面的話,有沒有也可以直接用 javascript 或其他等價方法的
: 下載方式呢?... (Q2)
: 上述兩個解答有效的話,都有豐厚批幣,但第一個問題較為重要,謝謝囉~
(Q1) 由於同源政策限制了網頁中不同源之間的互動,如果 iframe 的來源不同於主頁面
,那麼使用 iframe.contentDocument 取得的內容將會被標記為跨源。在這種情況下,你
可以考慮使用 CORS 或 JSONP 等技術來繞過同源政策,但是這需要你有權限控制被嵌入
頁面的伺服器端。另外,如果你無法控制伺服器端,那麼你可以嘗試使用跨域資源共享(
CORS)或代理服務來取得 iframe 中的內容。
(Q2) 取得下載連結的方法取決於網站的具體實現方式。如果下載連結是由 JavaScript
動態生成的,你可以嘗試通過檢查網頁的源代碼或使用瀏覽器開發者工具來查找下載連結
所在的元素或 JavaScript 函數。一旦找到下載連結,你可以使用 JavaScript 下載 API
,如 fetch 或 XMLHttpRequest,或者使用 download 屬性和 Blob 對象來下載影片。但
需要注意的是,這種方法可能違反網站的使用條款,並可能導致你的帳戶被封鎖或其他法
律後果。建議你先查看網站的使用條款,確保你的操作不會違反任何規定。
作者: qwe70302 (為何一到90分就會輸)   2023-03-13 20:20:00
有股AI味

Links booklink

Contact Us: admin [ a t ] ucptt.com