From 9eec1ccaffd888703d025afb320f1551d358e597 Mon Sep 17 00:00:00 2001 From: softmarshmallow Date: Tue, 29 Mar 2022 19:44:38 +0900 Subject: [PATCH] auto play for youtube as default --- .../html-iframe-youtube/index.ts | 24 +++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) diff --git a/packages/builder-web-core/widgets-native/html-iframe-youtube/index.ts b/packages/builder-web-core/widgets-native/html-iframe-youtube/index.ts index bc80fdde..89d54487 100644 --- a/packages/builder-web-core/widgets-native/html-iframe-youtube/index.ts +++ b/packages/builder-web-core/widgets-native/html-iframe-youtube/index.ts @@ -22,11 +22,31 @@ export class HtmlIframeYoutube extends HtmlIframe { loading, sandbox, referrerpolicy, - src: yturl(video), + src: yturl(video, { autoplay: true }), }); } } -function yturl(video: string): string { +function yturl( + video: string, + opt?: { + autoplay?: boolean; + } +): string { + const q = {}; + + if (opt?.autoplay) { + q["autoplay"] = "1"; + } + + if (Object.keys(q).length > 0) { + return `https://www.youtube.com/embed/${video}?${buildq(q)}`; + } + return `https://www.youtube.com/embed/${video}`; } + +const buildq = (q: object): string => + Object.keys(q) + .map((k) => `${encodeURIComponent(k)}=${encodeURIComponent(q[k])}`) + .join("&");