Modern Script Loading
If you're implementing module/nomodule, this might help clarify the trade-offs and options you have available.
http://jasonformat.com/modern-script-loading/ …pic.twitter.com/a3jVXzGfVY
This is the legacy version of twitter.com. We will be shutting it down on June 1, 2020. Please switch to a supported browser, or disable the extension which masks your browser. You can see a list of supported browsers in our Help Center.
I work on @ChromeDevTools & @v8js at Google and on ECMAScript through TC39.
JavaScript, HTML, CSS, HTTP, performance, security, Bash, Unicode, i18n, macOS.
You can add location information to your Tweets, such as your city or precise location, from the web and via third-party applications. You always have the option to delete your Tweet location history. Learn more
Add this Tweet to your website by copying the code below. Learn more
Add this video to your website by copying the code below. Learn more
By embedding Twitter content in your website or app, you are agreeing to the Twitter Developer Agreement and Developer Policy.
| Country | Code | For customers of |
|---|---|---|
| United States | 40404 | (any) |
| Canada | 21212 | (any) |
| United Kingdom | 86444 | Vodafone, Orange, 3, O2 |
| Brazil | 40404 | Nextel, TIM |
| Haiti | 40404 | Digicel, Voila |
| Ireland | 51210 | Vodafone, O2 |
| India | 53000 | Bharti Airtel, Videocon, Reliance |
| Indonesia | 89887 | AXIS, 3, Telkomsel, Indosat, XL Axiata |
| Italy | 4880804 | Wind |
| 3424486444 | Vodafone | |
| » See SMS short codes for other countries | ||
This timeline is where you’ll spend most of your time, getting instant updates about what matters to you.
Hover over the profile pic and click the Following button to unfollow any account.
When you see a Tweet you love, tap the heart — it lets the person who wrote it know you shared the love.
The fastest way to share someone else’s Tweet with your followers is with a Retweet. Tap the icon to send it instantly.
Add your thoughts about any Tweet with a Reply. Find a topic you’re passionate about, and jump right in.
Get instant insight into what people are talking about now.
Follow more accounts to get instant updates about topics you care about.
See the latest conversations about any topic instantly.
Catch up instantly on the best stories happening as they unfold.
Modern Script Loading
If you're implementing module/nomodule, this might help clarify the trade-offs and options you have available.
http://jasonformat.com/modern-script-loading/ …pic.twitter.com/a3jVXzGfVY
“Option 2: User Agent Sniffing” doesn’t have to use the same URL for both scripts. Use different URLs, and make the HTML (likely not cached as aggressively anyhow) differential. This gets rid of one of the issues you describe.
Ah yeah, so just using UA sniffing to correct for browsers that request the wrong script?
Not even that. Just if (IS_MODERN_UA) { <script type=module src=modern.mjs></script> } else { <script src=legacy.js></script> } Also, it's ok if IS_MODERN_UA doesn't catch every possible UA string that supports modules, as the fallback still works.
That is, the simplest possible implementation would simply match a hardcoded set of UA strings, and nothing else. You don't need to handle every possible edge case. There's nothing inherently wrong with UA sniffing if it's used as progressive enhancement in this manner.
Doing this in parallel to Angular's differential loading. In our env it's mostly about IE11 vs others, so checking that first, then serving either ES5 or ES2015 bundle. Works like a charm.
Also "What if your request mismatch the UA" - that doesn't hurt us since two types of bundles have to work properly. There's nothing wrong with the legacy one except it's just bigger.
The only requirement is that it never returns a false positive, since that would serve `script type=module` to a browser that can't pass muster.
Exactly. False negatives OTOH are acceptable, as it just means the UA gets the legacy payload (which still works!).
Twitter may be over capacity or experiencing a momentary hiccup. Try again or visit Twitter Status for more information.