diff --git a/public/js/embedResize.js b/public/js/embedResize.js index 227d6af..82c97cc 100644 --- a/public/js/embedResize.js +++ b/public/js/embedResize.js @@ -22,5 +22,6 @@ window.addEventListener('load', sendHeight); new ResizeObserver(sendHeight).observe(embedElement); - return sendHeight; + // Expose for embedTweet.js + window._nitterSendHeight = sendHeight; })() diff --git a/public/js/embedTweet.js b/public/js/embedTweet.js index 5b6419d..74d2577 100644 --- a/public/js/embedTweet.js +++ b/public/js/embedTweet.js @@ -1,5 +1,8 @@ // This runs after embedResize.js sets up the sendHeight function -(function(sendHeight) { +(function() { + var sendHeight = window._nitterSendHeight; + if (!sendHeight) return; + // Make images load eagerly so height updates correctly var lazyImages = document.querySelectorAll('img[loading="lazy"]'); for (var i = 0; i < lazyImages.length; i++) { @@ -20,4 +23,4 @@ for (var i = 0; i < allLinks.length; i++) { allLinks[i].target = '_blank'; } -})(arguments[0]); +})(); diff --git a/src/views/embed.nim b/src/views/embed.nim index 80b2dba..27cbb74 100644 --- a/src/views/embed.nim +++ b/src/views/embed.nim @@ -8,8 +8,8 @@ import general, tweet const doctype = "\n" embedResizeJs = staticRead("../../public/js/embedResize.js") - embedTweetJs = embedResizeJs & staticRead("../../public/js/embedTweet.js") - embedErrorJs = embedResizeJs & ";requestAnimationFrame(arguments[0]);" + embedTweetJs = embedResizeJs & ";" & staticRead("../../public/js/embedTweet.js") + embedErrorJs = embedResizeJs & ";if(window._nitterSendHeight)requestAnimationFrame(window._nitterSendHeight);" proc renderVideoEmbed*(tweet: Tweet; cfg: Config; req: Request): string = let