Melin's Blog

Latest posts

See all posts
  • Safari Does Not Support Built-In Custom Elements: A Practical Compatibility Strategy
    Based on Zhang Xinxu’s discussion of Safari’s Web Components limitations, with practical implementation examples from the demo code. Safari supports autonomous custom elements ,...
  • Understanding `Promise.all()`, `Promise.race()`, and `Promise.any()`
    JavaScript gives us several ways to coordinate multiple asynchronous operations. Three of the most useful are Promise.all() , Promise.race() , and Promise.any() . They all accep...
  • Triggering a JavaScript `change` Event When Assigning `input.value`
    In the browser, user interaction and JavaScript assignment are not treated the same way. When a user types, pastes, or drops text into an , the browser fires an input event. Whe...
  • Front-End News: `setHTML()` and `Element.startViewTransition()` Are Now Supported
    Two DOM APIs quietly became much more interesting recently: Element.setHTML() and Element.startViewTransition() . The first gives the browser a native way to insert HTML while a...
  • Use the CSS `revert` Global Keyword to Restore an Element’s `display`
    Small CSS details often cause the most confusing UI bugs. Here is a common front-end requirement: show only the first three list items by default, then reveal the remaining item...
© 2026 • Melin
Press Esc or click anywhere to close