fix: youtube embed

This commit is contained in:
Tienson Qin
2025-11-14 20:18:03 +08:00
parent 5d8c9a4f81
commit 65627d819d
2 changed files with 10 additions and 17 deletions

View File

@@ -59,22 +59,14 @@
(.onBeforeSendHeaders (.. session -defaultSession -webRequest)
(clj->js {:urls (array "*://*.youtube.com/*")})
(fn [^js details callback]
(let [url (.-url details)
urlObj (js/URL. url)
origin (.-origin urlObj)
requestHeaders (.-requestHeaders details)
no-cookie-headers (-> (bean/->clj requestHeaders)
(dissoc :Cookie :cookie)
bean/->js)]
(if (and
(.hasOwnProperty requestHeaders "referer")
(not-empty (.-referer requestHeaders)))
(callback #js {:cancel false
:requestHeaders no-cookie-headers})
(do
(set! (.-referer requestHeaders) origin)
(callback #js {:cancel false
:requestHeaders no-cookie-headers}))))))
(let [requestHeaders (.-requestHeaders details)
headers (-> (bean/->clj requestHeaders)
(dissoc :Cookie :cookie)
(assoc :Referrer-Policy "strict-origin-when-cross-origin'"
:referer "https://logseq.com"))]
(callback (bean/->js
{:cancel false
:requestHeaders headers})))))
(.loadURL win url)
;;(when dev? (.. win -webContents (openDevTools)))
win)))

View File

@@ -62,7 +62,8 @@
[:iframe.aspect-video
{:id (str "youtube-player-" id)
:allow-full-screen "allowfullscreen"
:allow "accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope"
:allow "accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share"
:referrerpolicy "strict-origin-when-cross-origin"
:frame-border "0"
:src url
:height height