diff --git a/packages/sdk/src/core/goview/convert.ts b/packages/sdk/src/core/goview/convert.ts index 8ce5a67..2a95fce 100644 --- a/packages/sdk/src/core/goview/convert.ts +++ b/packages/sdk/src/core/goview/convert.ts @@ -143,8 +143,14 @@ function isVideo(c: GoViewComponentLike): boolean { k.includes('player') || k.includes('stream') || k.includes('rtsp') || + k.includes('rtmp') || k.includes('hls') || + k.includes('m3u8') || + k.includes('flv') || + k.includes('webrtc') || + k.includes('dash') || // common low-code names for live streams + k.includes('live') || k.includes('camera') || k.includes('cctv') || k.includes('monitor') @@ -178,6 +184,7 @@ function looksLikeIframeOption(option: unknown): boolean { if ('iframeUrl' in o || 'iframeSrc' in o || 'embedUrl' in o) return true; // Some exports store raw HTML instead of a URL. + if ('srcdoc' in o || 'srcDoc' in o) return true; if ('html' in o || 'htmlContent' in o || 'content' in o || 'template' in o) return true; } diff --git a/packages/sdk/src/core/widgets/iframe.ts b/packages/sdk/src/core/widgets/iframe.ts index 0d18cee..c726bf9 100644 --- a/packages/sdk/src/core/widgets/iframe.ts +++ b/packages/sdk/src/core/widgets/iframe.ts @@ -38,7 +38,7 @@ function pickSrc(option: GoViewIframeOption): string { const html = pickFromNested( option, (obj) => { - const v = obj.html ?? obj.htmlContent ?? obj.content ?? obj.template; + const v = obj.srcdoc ?? obj.srcDoc ?? obj.html ?? obj.htmlContent ?? obj.content ?? obj.template; return typeof v === 'string' ? v : undefined; }, 2, diff --git a/packages/sdk/src/core/widgets/urlLike.ts b/packages/sdk/src/core/widgets/urlLike.ts index 2746332..8a8b9fc 100644 --- a/packages/sdk/src/core/widgets/urlLike.ts +++ b/packages/sdk/src/core/widgets/urlLike.ts @@ -41,6 +41,14 @@ function pickUrlLikeInner(input: unknown, depth: number): string { 'path', 'source', 'address', + // some editors use page-ish naming + 'pageUrl', + 'pageSrc', + 'page', + 'documentUrl', + // iframe-ish HTML-in-URL fields (handled by iframe widget converter) + 'srcdoc', + 'srcDoc', // common aliases 'srcUrl', 'sourceUrl',