Replace x.com links with embedded tweets
当前为
// ==UserScript==
// @name X.com to Twitter.com Embedded Tweet in Voz
// @namespace Embedded Tweet in Voz
// @version 1.6
// @description Replace x.com links with embedded tweets
// @icon https://www.google.com/s2/favicons?sz=64&domain=voz.vn
// @author kylyte
// @match https://voz.vn/t/*
// @match https://voz.vn/conversations/*
// @match https://voz.vn/whats-new/profile-posts/*
// @match https://voz.vn/u/*
// @run-at document-idle
// @license GPL-3.0
// ==/UserScript==
(function() {
'use strict';
function replaceDivWithIframe() {
const divs = document.querySelectorAll('div.bbCodeBlock--unfurl');
divs.forEach(div => {
const anchor = div.querySelector('a[href^="https://x.com"]');
if (anchor) {
const href = anchor.getAttribute('href');
const postIdMatch = href.match(/status\/(\d+)/);
if (postIdMatch && postIdMatch[1]) {
const postId = postIdMatch[1];
const iframe = document.createElement('iframe');
iframe.id = "twitter-widget-0";
iframe.scrolling = "true";
iframe.frameBorder = "0";
iframe.allowTransparency = "true";
iframe.allowFullscreen = "true";
iframe.style.position = "static";
iframe.style.visibility = "visible";
iframe.style.width = "550px";
iframe.style.height = "550px";
iframe.style.display = "block";
iframe.style.flexGrow = "1";
iframe.title = "X Post";
iframe.dataset.tweetId = postId;
iframe.src = `https://platform.twitter.com/embed/Tweet.html?id=${postId}&width=550px`;
div.parentNode.replaceChild(iframe, div);
}
}
});
}
window.addEventListener('load', replaceDivWithIframe);
const observer = new MutationObserver(replaceDivWithIframe);
observer.observe(document.body, { childList: true, subtree: true });
})();