mirror of
https://github.com/zedeus/nitter
synced 2026-09-05 14:49:32 +00:00
Clean up embed JS and add Tweet.html compatibility
This commit is contained in:
parent
dc66bd6375
commit
3bfbb7b3fd
4 changed files with 13 additions and 10 deletions
|
|
@ -24,4 +24,4 @@
|
|||
|
||||
// Expose for embedTweet.js
|
||||
window._nitterSendHeight = sendHeight;
|
||||
})()
|
||||
})();
|
||||
|
|
|
|||
|
|
@ -1,7 +1,6 @@
|
|||
// This runs after embedResize.js sets up the sendHeight function
|
||||
(function() {
|
||||
var sendHeight = window._nitterSendHeight;
|
||||
if (!sendHeight) return;
|
||||
|
||||
// Make images load eagerly so height updates correctly
|
||||
var lazyImages = document.querySelectorAll('img[loading="lazy"]');
|
||||
|
|
@ -9,7 +8,8 @@
|
|||
lazyImages[i].loading = 'eager';
|
||||
}
|
||||
|
||||
// Update height when images finish loading
|
||||
// Update height when images finish loading (only if sendHeight available)
|
||||
if (sendHeight) {
|
||||
var allImages = document.querySelectorAll('img');
|
||||
for (var i = 0; i < allImages.length; i++) {
|
||||
var img = allImages[i];
|
||||
|
|
@ -17,10 +17,12 @@
|
|||
img.addEventListener('load', sendHeight);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Open all links in new tab (we're in an iframe)
|
||||
var allLinks = document.querySelectorAll('a');
|
||||
for (var i = 0; i < allLinks.length; i++) {
|
||||
allLinks[i].target = '_blank';
|
||||
}
|
||||
|
||||
})();
|
||||
|
|
|
|||
|
|
@ -81,8 +81,8 @@ routes:
|
|||
if request.path.len == 0 or request.path[0] != '/':
|
||||
halt Http400
|
||||
|
||||
# skip all file URLs
|
||||
cond "." notin request.path
|
||||
# skip all file URLs (except Twitter widget compatibility)
|
||||
cond "." notin request.path or request.path == "/embed/Tweet.html"
|
||||
applyUrlPrefs()
|
||||
|
||||
get "/":
|
||||
|
|
|
|||
|
|
@ -3,4 +3,5 @@
|
|||
#proc renderOembedIframe*(embedUrl: string): string =
|
||||
# result = ""
|
||||
<iframe src="$embedUrl" style="width:100%;max-width:550px;height:250px;border:none" scrolling="no" loading="lazy" onload="let c=new MessageChannel;c.port1.onmessage=e=>this.style.height=e.data+'px';this.contentWindow.postMessage('','*',[c.port2])"></iframe>
|
||||
# result = result.strip()
|
||||
#end proc
|
||||
|
|
|
|||
Loading…
Reference in a new issue