- Home
- Plugins
- UI Enhancements
- dsh-douyin-webview
dsh-douyin-webview
535408248-oss/dsh-douyin-webview
An embedded Douyin window docked in the DSH sidebar: a real Electron webview guest, so douyin.com's X-Frame-Options: DENY no longer applies.
Install
dsh plugin --profile web add github:535408248-oss/dsh-douyin-webviewREADME
dsh-douyin-webview
An embedded Douyin window docked in the DSH sidebar footer — watch Douyin in the bottom-left corner while you keep working.
Desktop only. The panel needs DSH's Desktop renderer: it mounts a real Electron
<webview>through the preload bridge (dshDesktop.browser.acquire), which does not exist in a browser tab. In the Web UI the sidebar button still appears, and the panel explains why it cannot work.
Why a webview and not an iframe
douyin.com answers with X-Frame-Options: DENY and a CSP frame-ancestors
list that does not include 127.0.0.1, so an iframe is rejected outright. A
<webview> is a separate renderer guest, which frame-ancestors cannot reach —
that is the whole reason this plugin exists.
What it does
- A 抖音 button in the sidebar footer toggles the panel.
- The panel opens at the bottom-left, above that button, at 480×300 (480×270 of 16:9 content under a 30px title bar).
- The title bar carries the size badge on the left and, on the right, a status dot (grey while the page loads, green once it is ready) and the close button. Click the badge to switch between 小窗口 and 大窗口; the large step fills the height available between the title bar and the footer.
- Drag anywhere on the title bar to move it; it snaps to the viewport edges.
- Double-click inside the page (or use Douyin's own fullscreen control) to take the video full-frame inside the panel.
Notes
- The
partitioncomes from the Desktop guest lease, so the Douyin login survives panel close/reopen. Keep the partition persistent (seedsh-侧栏浏览器分区持久化) if you want it to survive a restart too. - Douyin's own
⛶control is intercepted and re-implemented in-page: Electron'sWEB_VIEW_ATTRIBUTEShas noallowfullscreen, so the native request would be silently denied. The shim rewrites the Fullscreen API inside the guest and scales the video to the panel's own viewport. - The panel colours follow the host theme tokens (
--dsw-alias-bg-base,--dsw-alias-bg-layer-1), so it matches whichever skin you run.
Install
dsh plugin --profile desktop add dsh-douyin-webview
or list the package in your profile's dsh.profile.bundles.
Licence
MIT
Related plugins
dsh-web (dsh-task-board)
zhu1090093659/dsh-web
dsh-web (dsh-web-all)
zhu1090093659/dsh-web
dsh-web-ui (dsh-task-board)
zhu1090093659/dsh-web-ui
dsh-web-ui (dsh-web-ui-all)
zhu1090093659/dsh-web-ui