Search
Array.prototype.at
8.11.2021
Working with arrays is an essential skill in any programming language, especially JavaScript, as we continue to rely on external data APIs. JavaScript has added methods like find and `findIndex recently, but one syntax I love from languages like Python is retrieving values by negative indexes. When...
Proxying Third-Party JavaScript as First-Party JavaScript (and the Potential Effect on Analytics)
2.11.2021
First, check out how incredibly easy it is to write a Cloudflare Worker to proxy another URL:
addEventListener("fetch", (event) ={
event.respondWith(
fetch("https://css-tricks.com")
);
});
It doesn’t have any error handling or anything, but hey, it works:
Now imagine how …
The...
Responsible JavaScript
2.11.2021
High five to Jeremy on the big release of Responsible JavaScript on A Book Apart. There is a lot of talk about how the proliferation of JavaScript has had a negative impact on the web, but now we have …
The post Responsible JavaScript appeared first on CSS-Tricks. You can support CSS-Tricks...
In-Page Filtered Search With Vanilla JavaScript
26.10.2021
If you have a page that includes a lot of information, it’s a good idea to let users search for what they might be looking for. I’m not talking about searching a database or even searching JSON data — I’m …
The post In-Page Filtered Search With Vanilla JavaScript appeared first...
Command Line trash
24.10.2021
One of the first commands you learn when experimenting with command line is rm, the utility for deleting files and directories. Deletion is a core computer UI operation but operating systems use a “Trash” paradigm, where files are stored before truly deleted. With the rm utility...
WooCommerce + Google Analytics
12.10.2021
Google Analytics is powerful analytics software. A common way to use it is to just slap the JavaScript snippet on every page template you have and let it collect basic data about unique visitors and pageviews and such. That’s useful, …
The post WooCommerce + Google Analytics appeared...
Jekyll doesn’t do components? Liar!
8.10.2021
I like the pushback from Katie Kodes here. I’ve said in the past that I don’t think server-side languages haven’t quite nailed “building in components” as well as JavaScript has, but hey, this is a good point:
1. Any basic
…
The post Jekyll doesn’t...
Scroll Shadows With JavaScript
6.10.2021
Scroll shadows are when you can see a little inset shadow on elements if (and only if) you can scroll in that direction. It’s just good UX. You can actually pull it off in CSS, which I think is …
The post Scroll Shadows With JavaScript appeared first on CSS-Tricks. You can support...
Links on React and JavaScript II
1.10.2021
How To Use The Vite Build Tool with React — Vite is hot, in part, because it’s based on esbuild and wickedly fast. It’s from Evan You of Vue fame, but it’s not a Vue-specific tool. Here, NARUHODO covers how
…
The post Links on React and JavaScript II appeared first...
How to Create a UUID in JavaScript
30.9.2021
The UUID identifier has been used in programming since the days a baby-faced David Walsh became a professional software engineer. My first exposure to UUIDs was via a ColdFusion app I inherited and … the less we say about that the better. In any event, I was recently surprised to see that...
Comparing Methods for Appending and Inserting With JavaScript
24.9.2021
Let’s say we want to add something to a webpage after the initial load. JavaScript gives us a variety of tools. Perhaps you’ve used some of them, like append, appendChild, insertAdjacentHTML, or innerHTML.
The difficult thing …
The post Comparing Methods for Appending...
imba
20.9.2021
It’s not every day you see a new processor for building websites that reinvents the syntax for HTML and CSS and JavaScript. That’s what imba is doing.
That’s an awful lot of vendor lock-in, but I guess if you get …
The post imba appeared first on CSS-Tricks. You can support...
AggregateError
17.9.2021
One of the big themes of the web these days is concurrency, which leads to accomplishing tasks asynchronously. In doing so, the possibility of multiple errors can occur. Instead of providing a generic error, optimally you’d provide a wealth of error information. TheAggregateError error lets...
An Intro to JavaScript Proxy
15.9.2021
Have you ever been in a situation where you wish you could have some control over the values in an object or array? Maybe you wanted to prevent certain types of data or even validate the data before storing it …
The post An Intro to JavaScript Proxy appeared first on CSS-Tricks. You...
AWS Lambdas: Easy, Easier, Easiest
4.9.2021
I’d say cloud functions are one of the most transformative technologies in the last bunch of years. They are (usually) cheap, scale well, secure in their inherit isolation, and often written in JavaScript—comfortable territory for front-end developers. Nearly every cloud …
The post...
You don’t need external assets in an HTML file
2.9.2021
A fun exercise from Terence Eden. You can send an HTML file over the wire including anything a website might need without requesting any other files. CSS and JavaScript are easy, because there are <script and <style tags. Images and …
The post You don’t need external assets...
jq for JSON
27.8.2021
I old enough to remember when we thought XML was going to change the programming world…then JSON saved us from that hell. Parsing and querying JSON data is fundamental task we’ve all coded for, but sometimes I just want to get some data locally with minimal fuss. I just learned of...
Introduction to the Solid JavaScript Library
24.8.2021
Solid is a reactive JavaScript library for creating user interfaces without a virtual DOM. It compiles templates down to real DOM nodes once and wraps updates in fine-grained reactions so that when state updates, only the related code runs.
This …
The post Introduction to the Solid...
Detecting Media Query Support in CSS and JavaScript
23.8.2021
You can’t just do @media (prefers-reduced-data: no-preference) alone because, as Kilian Valkhof says:
[…] that would be false if either there was no support (since the browser wouldn’t understand the media query) or if it was supported but the
…
The post...
Native JavaScript Routing?
23.8.2021
We can update the URL in JavaScript. We’ve got these APIs:
// Adds to browser history
history.pushState({}, "About Page", "/about");
// Doesn't
history.replaceState({}, "About Page", "/about");
JavaScript is also capable of replacing any content in the DOM....