Putting the 'role' back in role-playing games since 2002.
Donate to Codex
Good Old Games
  • Welcome to rpgcodex.net, a site dedicated to discussing computer based role-playing games in a free and open fashion. We're less strict than other forums, but please refer to the rules.

    "This message is awaiting moderator approval": All new users must pass through our moderation queue before they will be able to post normally. Until your account has "passed" your posts will only be visible to yourself (and moderators) until they are approved. Give us a week to get around to approving / deleting / ignoring your mundane opinion on crap before hassling us about it. Once you have passed the moderation period (think of it as a test), you will be able to post normally, just like all the other retards.

fixed script for viewing Twitter embeds

Twiglard

Poland Stronk
Patron
Staff Member
Joined
Aug 6, 2014
Messages
7,509
Location
Poland
Strap Yourselves In Codex Year of the Donut
So while The Musk is chimping out, you can use a Greasemonkey (now actually Tampermonkey) script to view them. I'm posting this here for more exposure.

Here's a modified version of the script so that you can click on links while viewing tweets. Lines 23-26 were modified by me.
JavaScript:
// ==UserScript==
// @name        twitter.com to embed
// @namespace   Violentmonkey Scripts
// @match       https://*.twitter.com/*
// @grant       none
// @version     1.1.1
// @license     GPLv3
// @author      -
// @run-at      document-start
// @description Allows limited browsing of Twitter while not being logged in. Replaces the actual pages with embedded representations of the same page.
// ==/UserScript==

function rewrite(url) {
    if (url.pathname === `/i/flow/login`) {
        const redirectParam = location.search.substring(1).split(`&`)
            .filter(param => param.startsWith(`redirect_after_login=`))
            .map(param => param.split(`=`)[1])[0];
        console.debug(`Redirect after login param:`, redirectParam);
        url = new URL(url.origin + decodeURIComponent(redirectParam));
    }

    const paths = url.pathname.split(`/`).slice(1);
    //if (paths.length === 1) {
    //    return `https://syndication.twitter.com/srv/timeline-profile/screen-name/` + paths[0];
    //} else
    if (paths.length == 3 && Number(paths[2])) {
        return `https://platform.twitter.com/embed/Tweet.html?id=` + paths[2];
    }
}
if (location.hostname === `twitter.com` && rewrite(location)) {
    location.replace(rewrite(location));
}


window.addEventListener(`load`, () => {
    if (location.href.startsWith(`https://syndication.twitter.com/srv/timeline-profile/screen-name/`)
        || location.href.startsWith(`https://platform.twitter.com/embed/Tweet.html`)) {
        const style = document.createElement(`style`);
        style.innerHTML = `#__next, #app { max-width: 800px; margin:auto; }`;
        document.head.append(style);
    }

    setTimeout(() => {

        for (const link of document.querySelectorAll(`a`)) {
            if (link.hostname.endsWith(`.twitter.com`)) continue;

            const newHref = rewrite(link);
            //console.debug(`rewrite ${link.href} to ${newHref}`)
            if (newHref) link.href = newHref;
        }
    }, 500);

});
 

As an Amazon Associate, rpgcodex.net earns from qualifying purchases.
Back
Top Bottom