next.js 中加载和使用 Web Components

由于 Next.js 默认是服务端加载模式, 所以需要在 useEffect 中 import Web 组件(仅在客户端加载的静态组件)。 示例: import { useEffect } from "react"; function Home() { useEffect(() => { import("../public/components/my-loading.js"), []; }); return ( <> <my-loading></mc-loading> </> ); } export default Home;

rust 连接字符串

在 Rust 中,有几种方法可以连接字符串。你可以使用 + 运算符,format! 宏或 push_str() 方法。下面是一些示例代码: 直接测试代码可以使用官方提供的 rust playground fn main() {

应用容器、虚拟机工具

容器 Docker https://www.docker.com/ 应用容器引擎。 OrbStack https://orbstack.dev/ Mac平台。快速、轻量的Docker Desktop 替代品。运行 Docker 和 Linux。 Podman https://podman.io/ 免费、开源的容器工具。 文章 Podman Vs Docker DockStation https://dockstation.io/ 管理 Docker 项

Rust WASM 获取当前网页的URL

Rust 写的 WASM 放在网页端使用,想在Rust代码中获悉当前网页的网址该如何实现? 首先要在 rust 项目的依赖文件中启用 web-sys 的 Window 和 Document 特性,示例: Cargo.toml [lib] crate-type = ["cdylib"] [dependencies] wasm-bindgen =

CSS 选择器 父级元素

有时候,某个父级元素没有特征,需要依靠子元素来定位父级元素。 css select parent element/node/tag by child elements 可使用 CSS 函数式伪类 :has() 来实现。 示例1: <div> <li> <span class="active"></span> </li> </div> li:has(> span.active) { /* 会选择 li tag

JS 捕获键盘快捷键(组合键)

使用 onkeydown (or onkeyup) 事件,而不是 onkeypress function handleKeyEvent(e) { // ctrl/meta + enter if (e.keyCode == 13) { // if (e.key == "Enter") { if (e.ctrlKey || e.metaKey) { alert("ctrl/meta + enter") } } } document.onkeydown = KeyPress; Alt key, e.altKey Ctrl + Z, keyCode==90 and e.ctrlKey

Web 网页随浏览器切换亮暗主题色

使用 color-scheme 让网页随浏览器自动切换亮暗主题色(dark/light themes) HTML: <meta name="color-scheme" content="light dark"> CSS: :root { color-scheme: light dark; /* both supported */ /* defaults to light theme */ --text-color: black; --bkg-color: white; } @media (prefers-color-scheme: dark) { :root{ /* for